Channeling skills rework.

Adapted from: L2jUnity free files.
This commit is contained in:
MobiusDev
2018-09-05 16:01:11 +00:00
parent b4be2cc560
commit 735d2f6384
182 changed files with 1705 additions and 1559 deletions
@@ -2285,8 +2285,8 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>3600</channelingTickInitialDelay> <channelingStart>3.6</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>OTHERS</targetType> <targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
<conditions> <conditions>
@@ -2312,8 +2312,8 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>3600</channelingTickInitialDelay> <channelingStart>3.6</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>OTHERS</targetType> <targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
<conditions> <conditions>
@@ -2168,7 +2168,7 @@
<reuseDelay>1000</reuseDelay> <reuseDelay>1000</reuseDelay>
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>0</channelingTickInterval> <channelingTickInterval>0</channelingTickInterval>
<targetType>ADVANCE_BASE</targetType> <targetType>ADVANCE_BASE</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -870,8 +870,8 @@
<affectRange>200</affectRange> <affectRange>200</affectRange>
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
<castRange>900</castRange> <castRange>900</castRange>
<channelingSkillId>1419</channelingSkillId> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<attributeType>FIRE</attributeType> <attributeType>FIRE</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
@@ -891,23 +891,22 @@
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>500</power> <power>500</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
</skill> </skill>
<skill id="1420" toLevel="1" name="Cyclone"> <skill id="1420" toLevel="1" name="Cyclone">
<affectLimit>15-25</affectLimit> <affectLimit>15-25</affectLimit>
<affectRange>200</affectRange> <affectRange>200</affectRange>
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
<castRange>900</castRange> <castRange>900</castRange>
<channelingSkillId>1420</channelingSkillId> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<attributeType>WIND</attributeType> <attributeType>WIND</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
@@ -927,23 +926,22 @@
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>500</power> <power>500</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
</skill> </skill>
<skill id="1421" toLevel="1" name="Raging Waves"> <skill id="1421" toLevel="1" name="Raging Waves">
<affectLimit>15-25</affectLimit> <affectLimit>15-25</affectLimit>
<affectRange>200</affectRange> <affectRange>200</affectRange>
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
<castRange>900</castRange> <castRange>900</castRange>
<channelingSkillId>1421</channelingSkillId> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<attributeType>WATER</attributeType> <attributeType>WATER</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
@@ -963,15 +961,14 @@
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>500</power> <power>500</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
</skill> </skill>
<skill id="1422" toLevel="1" name="Day of Doom"> <skill id="1422" toLevel="1" name="Day of Doom">
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
@@ -1021,8 +1018,8 @@
<affectRange>200</affectRange> <affectRange>200</affectRange>
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
<castRange>900</castRange> <castRange>900</castRange>
<channelingSkillId>1423</channelingSkillId> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
@@ -1042,15 +1039,14 @@
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>500</power> <power>500</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
</skill> </skill>
<skill id="1424" toLevel="1" name="Anti-summoning Field"> <skill id="1424" toLevel="1" name="Anti-summoning Field">
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
@@ -3538,7 +3534,8 @@
<!-- Confirmed CT2.5 --> <!-- Confirmed CT2.5 -->
<!-- Kamael Final Form Skill --> <!-- Kamael Final Form Skill -->
<castRange>900</castRange> <castRange>900</castRange>
<channelingTickInterval>2000</channelingTickInterval> <channelingStart>1</channelingStart>
<channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
@@ -3555,14 +3552,13 @@
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>30</power> <power>30</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
</skill> </skill>
<skill id="1473" toLevel="1" name="Change Weapon"> <skill id="1473" toLevel="1" name="Change Weapon">
<!-- Confirmed CT2.5 --> <!-- Confirmed CT2.5 -->
@@ -2989,7 +2989,8 @@
<!-- Confirmed CT2.5 --> <!-- Confirmed CT2.5 -->
<!-- Kamael Final Form Skill --> <!-- Kamael Final Form Skill -->
<castRange>900</castRange> <castRange>900</castRange>
<channelingTickInterval>2000</channelingTickInterval> <channelingStart>1</channelingStart>
<channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
@@ -3006,14 +3007,13 @@
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>30</power> <power>30</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
</skill> </skill>
<skill id="1546" toLevel="1" name="Strider Fear"> <skill id="1546" toLevel="1" name="Strider Fear">
<!-- Confirmed CT2.5 --> <!-- Confirmed CT2.5 -->
@@ -242,7 +242,7 @@
<reuseDelay>5000</reuseDelay> <reuseDelay>5000</reuseDelay>
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>0</channelingTickInterval> <channelingTickInterval>0</channelingTickInterval>
<targetType>FORTRESS_FLAGPOLE</targetType> <targetType>FORTRESS_FLAGPOLE</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -1135,7 +1135,7 @@
<skill id="3626" toLevel="1" name="Kabokula"> <skill id="3626" toLevel="1" name="Kabokula">
<castRange>300</castRange> <castRange>300</castRange>
<channelingSkillId>5106</channelingSkillId> <channelingSkillId>5106</channelingSkillId>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-100</effectPoint> <effectPoint>-100</effectPoint>
<effectRange>500</effectRange> <effectRange>500</effectRange>
<hitTime>25000</hitTime> <hitTime>25000</hitTime>
@@ -1150,7 +1150,7 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<targetType>ENEMY_ONLY</targetType> <targetType>ENEMY_ONLY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -1167,7 +1167,7 @@
<skill id="3627" toLevel="1" name="Tapirawa"> <skill id="3627" toLevel="1" name="Tapirawa">
<castRange>300</castRange> <castRange>300</castRange>
<channelingSkillId>5107</channelingSkillId> <channelingSkillId>5107</channelingSkillId>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-100</effectPoint> <effectPoint>-100</effectPoint>
<effectRange>500</effectRange> <effectRange>500</effectRange>
<hitTime>25000</hitTime> <hitTime>25000</hitTime>
@@ -1182,7 +1182,7 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<targetType>ENEMY_ONLY</targetType> <targetType>ENEMY_ONLY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -1199,7 +1199,7 @@
<skill id="3628" toLevel="1" name="Shabonoba"> <skill id="3628" toLevel="1" name="Shabonoba">
<castRange>300</castRange> <castRange>300</castRange>
<channelingSkillId>5108</channelingSkillId> <channelingSkillId>5108</channelingSkillId>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-100</effectPoint> <effectPoint>-100</effectPoint>
<effectRange>500</effectRange> <effectRange>500</effectRange>
<hitTime>25000</hitTime> <hitTime>25000</hitTime>
@@ -1214,7 +1214,7 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<targetType>ENEMY_ONLY</targetType> <targetType>ENEMY_ONLY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -4527,7 +4527,7 @@
<skill id="5396" toLevel="1" name="Spell Stance"> <skill id="5396" toLevel="1" name="Spell Stance">
<castRange>400</castRange> <castRange>400</castRange>
<channelingSkillId>5397</channelingSkillId> <channelingSkillId>5397</channelingSkillId>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<hitTime>15000</hitTime> <hitTime>15000</hitTime>
<isMagic>2</isMagic> <!-- Static Skill --> <isMagic>2</isMagic> <!-- Static Skill -->
<operateType>CA5</operateType> <operateType>CA5</operateType>
@@ -4536,7 +4536,7 @@
<magicCriticalRate>-5</magicCriticalRate> <magicCriticalRate>-5</magicCriticalRate>
<effectRange>600</effectRange> <effectRange>600</effectRange>
<magicLvl>77</magicLvl> <magicLvl>77</magicLvl>
<channelingTickInitialDelay>3600</channelingTickInitialDelay> <channelingStart>3.6</channelingStart>
<targetType>OTHERS</targetType> <targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
</skill> </skill>
@@ -2103,8 +2103,8 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<magicCriticalRate>-5</magicCriticalRate> <magicCriticalRate>-5</magicCriticalRate>
<channelingTickInitialDelay>3600</channelingTickInitialDelay> <channelingStart>3.6</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
<conditions> <conditions>
@@ -372,11 +372,16 @@
<attributeType>FIRE</attributeType> <attributeType>FIRE</attributeType>
<attributeValue>180</attributeValue> <attributeValue>180</attributeValue>
<affectRange>250</affectRange> <affectRange>250</affectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>SELF</targetType> <targetType>SELF</targetType>
<affectScope>POINT_BLANK</affectScope> <affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject> <affectObject>NOT_FRIEND</affectObject>
<channelingEffects>
<effect name="MagicalAttack">
<power>100</power>
</effect>
</channelingEffects>
</skill> </skill>
<skill id="5514" toLevel="1" name="Water Taint"> <skill id="5514" toLevel="1" name="Water Taint">
<effectPoint>-1063</effectPoint> <effectPoint>-1063</effectPoint>
@@ -388,11 +393,16 @@
<attributeType>WATER</attributeType> <attributeType>WATER</attributeType>
<attributeValue>180</attributeValue> <attributeValue>180</attributeValue>
<affectRange>250</affectRange> <affectRange>250</affectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>SELF</targetType> <targetType>SELF</targetType>
<affectScope>POINT_BLANK</affectScope> <affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject> <affectObject>NOT_FRIEND</affectObject>
<channelingEffects>
<effect name="MagicalAttack">
<power>30</power>
</effect>
</channelingEffects>
</skill> </skill>
<skill id="5515" toLevel="1" name="Wind Taint"> <skill id="5515" toLevel="1" name="Wind Taint">
<effectPoint>-1063</effectPoint> <effectPoint>-1063</effectPoint>
@@ -404,11 +414,16 @@
<attributeType>WIND</attributeType> <attributeType>WIND</attributeType>
<attributeValue>180</attributeValue> <attributeValue>180</attributeValue>
<affectRange>250</affectRange> <affectRange>250</affectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>SELF</targetType> <targetType>SELF</targetType>
<affectScope>POINT_BLANK</affectScope> <affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject> <affectObject>NOT_FRIEND</affectObject>
<channelingEffects>
<effect name="MagicalAttack">
<power>30</power>
</effect>
</channelingEffects>
</skill> </skill>
<skill id="5516" toLevel="1" name="Earth Taint"> <skill id="5516" toLevel="1" name="Earth Taint">
<effectPoint>-1063</effectPoint> <effectPoint>-1063</effectPoint>
@@ -420,11 +435,16 @@
<attributeType>EARTH</attributeType> <attributeType>EARTH</attributeType>
<attributeValue>180</attributeValue> <attributeValue>180</attributeValue>
<affectRange>250</affectRange> <affectRange>250</affectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>SELF</targetType> <targetType>SELF</targetType>
<affectScope>POINT_BLANK</affectScope> <affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject> <affectObject>NOT_FRIEND</affectObject>
<channelingEffects>
<effect name="MagicalAttack">
<power>30</power>
</effect>
</channelingEffects>
</skill> </skill>
<skill id="5517" toLevel="1" name="Nurture"> <skill id="5517" toLevel="1" name="Nurture">
<abnormalLvl>1</abnormalLvl> <abnormalLvl>1</abnormalLvl>
@@ -311,9 +311,9 @@
<magicCriticalRate>-5</magicCriticalRate> <magicCriticalRate>-5</magicCriticalRate>
<effectRange>1700</effectRange> <effectRange>1700</effectRange>
<channelingSkillId>5713</channelingSkillId> <channelingSkillId>5713</channelingSkillId>
<channelingTickInitialDelay>3600</channelingTickInitialDelay> <channelingStart>3.6</channelingStart>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>OTHERS</targetType> <targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
<effects> <effects>
@@ -2233,9 +2233,9 @@
<magicCriticalRate>-5</magicCriticalRate> <magicCriticalRate>-5</magicCriticalRate>
<effectRange>600</effectRange> <effectRange>600</effectRange>
<channelingSkillId>5713</channelingSkillId> <channelingSkillId>5713</channelingSkillId>
<channelingTickInitialDelay>3600</channelingTickInitialDelay> <channelingStart>3.6</channelingStart>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<castRange>400</castRange> <castRange>400</castRange>
<targetType>OTHERS</targetType> <targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -2777,8 +2777,8 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<effectPoint>-1</effectPoint> <effectPoint>-1</effectPoint>
<magicCriticalRate>-5</magicCriticalRate> <magicCriticalRate>-5</magicCriticalRate>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>5800</channelingTickInterval> <channelingTickInterval>5.8</channelingTickInterval>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
<conditions> <conditions>
@@ -1358,8 +1358,8 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>1400</effectRange> <effectRange>1400</effectRange>
<channelingSkillId>14559</channelingSkillId> <channelingSkillId>14559</channelingSkillId>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<icon>icon.skill1042</icon> <icon>icon.skill1042</icon>
<hitTime>10000</hitTime> <hitTime>10000</hitTime>
<reuseDelay>30000</reuseDelay> <reuseDelay>30000</reuseDelay>
@@ -944,7 +944,7 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>2000</effectRange> <effectRange>2000</effectRange>
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>0</channelingTickInterval> <channelingTickInterval>0</channelingTickInterval>
<hitTime>90000</hitTime> <hitTime>90000</hitTime>
<castRange>2000</castRange> <castRange>2000</castRange>
@@ -1782,7 +1782,7 @@
<attributeType>FIRE</attributeType> <attributeType>FIRE</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<affectRange>200</affectRange> <affectRange>200</affectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>0</channelingTickInterval> <channelingTickInterval>0</channelingTickInterval>
<targetType>SELF</targetType> <targetType>SELF</targetType>
<affectScope>POINT_BLANK</affectScope> <affectScope>POINT_BLANK</affectScope>
@@ -2559,23 +2559,19 @@
<attributeType>FIRE</attributeType> <attributeType>FIRE</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<affectRange>150</affectRange> <affectRange>150</affectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<affectLimit>10-10</affectLimit> <affectLimit>10-10</affectLimit>
<mpPerChanneling>72</mpPerChanneling> <mpPerChanneling>72</mpPerChanneling>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
<affectScope>RANGE</affectScope> <affectScope>RANGE</affectScope>
<affectObject>NOT_FRIEND</affectObject> <affectObject>NOT_FRIEND</affectObject>
<effects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>117</power> <power>117</power>
</effect> </effect>
<effect name="DamOverTime"> </channelingEffects>
<power>111</power>
<ticks>3</ticks>
</effect>
</effects>
</skill> </skill>
<skill id="8582" toLevel="1" name="Dark Vortex"> <skill id="8582" toLevel="1" name="Dark Vortex">
<!-- Glory Days Confirmed --> <!-- Glory Days Confirmed -->
@@ -2765,19 +2761,19 @@
<effectRange>1100</effectRange> <effectRange>1100</effectRange>
<magicLvl>81</magicLvl> <magicLvl>81</magicLvl>
<affectRange>150</affectRange> <affectRange>150</affectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<affectLimit>10-10</affectLimit> <affectLimit>10-10</affectLimit>
<mpPerChanneling>72</mpPerChanneling> <mpPerChanneling>72</mpPerChanneling>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
<affectScope>RANGE</affectScope> <affectScope>RANGE</affectScope>
<affectObject>NOT_FRIEND</affectObject> <affectObject>NOT_FRIEND</affectObject>
<effects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>117</power> <power>117</power>
</effect> </effect>
</effects> </channelingEffects>
</skill> </skill>
<skill id="8587" toLevel="1" name="Wind Vortex"> <skill id="8587" toLevel="1" name="Wind Vortex">
<!-- Glory Days Confirmed --> <!-- Glory Days Confirmed -->
@@ -2297,9 +2297,8 @@
<!-- Updated to IO --> <!-- Updated to IO -->
<!-- For 10 seconds, drains target's life with 25 Power per second. Absorbs 100% of the damage inflicted as HP. --> <!-- For 10 seconds, drains target's life with 25 Power per second. Absorbs 100% of the damage inflicted as HP. -->
<icon>icon.skill11030</icon> <icon>icon.skill11030</icon>
<channelingSkillId>11030</channelingSkillId> <channelingTickInterval>1</channelingTickInterval>
<channelingTickInterval>1000</channelingTickInterval> <channelingStart>1.2</channelingStart>
<channelingTickInitialDelay>1200</channelingTickInitialDelay>
<operateType>CA1</operateType> <operateType>CA1</operateType>
<magicLvl> <magicLvl>
<value level="1">85</value> <value level="1">85</value>
@@ -4318,8 +4317,8 @@
</activateRate> </activateRate>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<channelingSkillId>11182</channelingSkillId> <!-- Yoke Status --> <channelingSkillId>11182</channelingSkillId> <!-- Yoke Status -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<operateType>CA2</operateType> <operateType>CA2</operateType>
<trait>AIRBIND</trait> <trait>AIRBIND</trait>
@@ -1867,9 +1867,8 @@
<!-- Updated to IO --> <!-- Updated to IO -->
<!-- For 10 sec., attacks target with 115 Power per second and recovers HP equivalent to 100% of damage inflicted. --> <!-- For 10 sec., attacks target with 115 Power per second and recovers HP equivalent to 100% of damage inflicted. -->
<icon>icon.skill0000</icon> <icon>icon.skill0000</icon>
<channelingSkillId>11131</channelingSkillId> <channelingTickInterval>1</channelingTickInterval>
<channelingTickInterval>1000</channelingTickInterval> <channelingStart>2</channelingStart>
<channelingTickInitialDelay>2000</channelingTickInitialDelay>
<operateType>CA1</operateType> <operateType>CA1</operateType>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -1974,7 +1973,7 @@
<icon>icon.skill11134</icon> <icon>icon.skill11134</icon>
<affectRange>250</affectRange> <affectRange>250</affectRange>
<channelingSkillId>11134</channelingSkillId> <channelingSkillId>11134</channelingSkillId>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<attributeType>FIRE</attributeType> <attributeType>FIRE</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<itemConsumeCount>5</itemConsumeCount> <itemConsumeCount>5</itemConsumeCount>
@@ -2032,9 +2031,8 @@
<!-- Creates a black swamp in the selected location, dealing great damage, and receiving 50% of the target's damage as HP. Inflicts abnormal state and decreases Speed. The higher the level of the abnormal state, the greater the damage, and at the last stage, Shocks the target. Consumes 5 Spirit Ores. --> <!-- Creates a black swamp in the selected location, dealing great damage, and receiving 50% of the target's damage as HP. Inflicts abnormal state and decreases Speed. The higher the level of the abnormal state, the greater the damage, and at the last stage, Shocks the target. Consumes 5 Spirit Ores. -->
<icon>icon.skill11135</icon> <icon>icon.skill11135</icon>
<affectRange>250</affectRange> <affectRange>250</affectRange>
<channelingSkillId>11135</channelingSkillId> <channelingTickInterval>1</channelingTickInterval>
<channelingTickInterval>1000</channelingTickInterval> <channelingStart>2</channelingStart>
<channelingTickInitialDelay>2000</channelingTickInitialDelay>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<itemConsumeCount>5</itemConsumeCount> <itemConsumeCount>5</itemConsumeCount>
@@ -2049,6 +2047,7 @@
<reuseDelay>120000</reuseDelay> <reuseDelay>120000</reuseDelay>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<hitCancelTime>4</hitCancelTime>
<channelingEffects> <channelingEffects>
<effect name="HpDrain"> <effect name="HpDrain">
<power> <power>
@@ -2076,9 +2075,8 @@
<affectRange>250</affectRange> <affectRange>250</affectRange>
<abnormalLvl>1</abnormalLvl> <abnormalLvl>1</abnormalLvl>
<abnormalTime>5</abnormalTime> <abnormalTime>5</abnormalTime>
<channelingSkillId>11136</channelingSkillId> <channelingTickInterval>1</channelingTickInterval>
<channelingTickInterval>1000</channelingTickInterval> <channelingStart>2</channelingStart>
<channelingTickInitialDelay>2000</channelingTickInitialDelay>
<attributeType>WATER</attributeType> <attributeType>WATER</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<itemConsumeCount>5</itemConsumeCount> <itemConsumeCount>5</itemConsumeCount>
@@ -2093,6 +2091,7 @@
<reuseDelay>120000</reuseDelay> <reuseDelay>120000</reuseDelay>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<hitCancelTime>4</hitCancelTime>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power> <power>
@@ -2136,9 +2135,8 @@
<!-- Creates a tornado in the selected location, dealing great damage. Inflicts abnormal state and decreases Speed. The higher the level of the abnormal state, the greater the damage, and at the last stage, locks the target in an Aerial Yoke. Consumes 5 Spirit Ores. --> <!-- Creates a tornado in the selected location, dealing great damage. Inflicts abnormal state and decreases Speed. The higher the level of the abnormal state, the greater the damage, and at the last stage, locks the target in an Aerial Yoke. Consumes 5 Spirit Ores. -->
<icon>icon.skill11137</icon> <icon>icon.skill11137</icon>
<affectRange>250</affectRange> <affectRange>250</affectRange>
<channelingSkillId>11137</channelingSkillId> <channelingTickInterval>1</channelingTickInterval>
<channelingTickInterval>1000</channelingTickInterval> <channelingStart>2</channelingStart>
<channelingTickInitialDelay>2000</channelingTickInitialDelay>
<attributeType>WIND</attributeType> <attributeType>WIND</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<itemConsumeCount>5</itemConsumeCount> <itemConsumeCount>5</itemConsumeCount>
@@ -2153,6 +2151,7 @@
<reuseDelay>120000</reuseDelay> <reuseDelay>120000</reuseDelay>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<hitCancelTime>4</hitCancelTime>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power> <power>
@@ -2196,9 +2195,8 @@
<!-- Detonates the soul in the selected location to attack surrounding enemies. Inflicts abnormal state and increases PvP Damage. The effect increases as the level of the abnormal state increases. Consumes 5 Spirit Ores. --> <!-- Detonates the soul in the selected location to attack surrounding enemies. Inflicts abnormal state and increases PvP Damage. The effect increases as the level of the abnormal state increases. Consumes 5 Spirit Ores. -->
<icon>icon.skill11138</icon> <icon>icon.skill11138</icon>
<affectRange>250</affectRange> <!-- Guessed --> <affectRange>250</affectRange> <!-- Guessed -->
<channelingSkillId>11138</channelingSkillId> <channelingTickInterval>1</channelingTickInterval>
<channelingTickInterval>1000</channelingTickInterval> <channelingStart>2</channelingStart>
<channelingTickInitialDelay>2000</channelingTickInitialDelay>
<itemConsumeCount>5</itemConsumeCount> <itemConsumeCount>5</itemConsumeCount>
<itemConsumeId>3031</itemConsumeId> <!-- Spirit Ore --> <itemConsumeId>3031</itemConsumeId> <!-- Spirit Ore -->
<operateType>CA1</operateType> <operateType>CA1</operateType>
@@ -2211,6 +2209,7 @@
<reuseDelay>120000</reuseDelay> <reuseDelay>120000</reuseDelay>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<hitCancelTime>4</hitCancelTime>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>600</power> <power>600</power>
@@ -1205,7 +1205,7 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<magicLvl>95</magicLvl> <magicLvl>95</magicLvl>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>0</channelingTickInterval> <channelingTickInterval>0</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<reuseDelay>3000</reuseDelay> <reuseDelay>3000</reuseDelay>
@@ -465,9 +465,9 @@
<effectRange>1400</effectRange> <effectRange>1400</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>14217</channelingSkillId> <channelingSkillId>14217</channelingSkillId>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -660,9 +660,9 @@
<effectRange>600</effectRange> <effectRange>600</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>14225</channelingSkillId> <channelingSkillId>14225</channelingSkillId>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<reuseDelay>20000</reuseDelay> <reuseDelay>20000</reuseDelay>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -2341,8 +2341,8 @@
<effectRange>1500</effectRange> <effectRange>1500</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>14436</channelingSkillId> <!-- Obedience Status --> <channelingSkillId>14436</channelingSkillId> <!-- Obedience Status -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<hitTime>5000</hitTime> <hitTime>5000</hitTime>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
@@ -555,19 +555,19 @@
<magicLvl>62</magicLvl> <magicLvl>62</magicLvl>
<attributeType>FIRE</attributeType> <attributeType>FIRE</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<affectLimit>10-10</affectLimit> <affectLimit>10-10</affectLimit>
<mpPerChanneling>1</mpPerChanneling> <mpPerChanneling>1</mpPerChanneling>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
<effects> <channelingEffects>
<effect name="HpDrain"> <effect name="HpDrain">
<power>84</power> <power>84</power>
<percentage>40</percentage> <percentage>40</percentage>
</effect> </effect>
</effects> </channelingEffects>
</skill> </skill>
<skill id="14423" toLevel="1" name="Byron's Darkness Attack"> <skill id="14423" toLevel="1" name="Byron's Darkness Attack">
<!-- Glory Days confirmed --> <!-- Glory Days confirmed -->
@@ -889,8 +889,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -911,8 +911,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -933,8 +933,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -955,8 +955,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -977,8 +977,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -999,8 +999,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -1021,8 +1021,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -1043,8 +1043,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -205,8 +205,8 @@
<effectRange>1400</effectRange> <effectRange>1400</effectRange>
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<channelingSkillId>14510</channelingSkillId> <!-- Drain Status --> <channelingSkillId>14510</channelingSkillId> <!-- Drain Status -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -419,8 +419,8 @@
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<magicLvl>96</magicLvl> <magicLvl>96</magicLvl>
<channelingSkillId>14616</channelingSkillId> <!-- Blood Siphon --> <channelingSkillId>14616</channelingSkillId> <!-- Blood Siphon -->
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<reuseDelay>15000</reuseDelay> <reuseDelay>15000</reuseDelay>
@@ -644,8 +644,8 @@
<magicLvl>96</magicLvl> <magicLvl>96</magicLvl>
<attributeType>FIRE</attributeType> <attributeType>FIRE</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<fanRange>0;0;500;500</fanRange> <fanRange>0;0;500;500</fanRange>
<isMagic>1</isMagic> <isMagic>1</isMagic>
@@ -1481,8 +1481,8 @@
<effectRange>1100</effectRange> <effectRange>1100</effectRange>
<magicLvl>94</magicLvl> <magicLvl>94</magicLvl>
<channelingSkillId>14548</channelingSkillId> <!-- Yoke of Sacrifice --> <channelingSkillId>14548</channelingSkillId> <!-- Yoke of Sacrifice -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -1545,8 +1545,8 @@
<effectRange>1100</effectRange> <effectRange>1100</effectRange>
<magicLvl>94</magicLvl> <magicLvl>94</magicLvl>
<channelingSkillId>14550</channelingSkillId> <!-- Yoke of Offering --> <channelingSkillId>14550</channelingSkillId> <!-- Yoke of Offering -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -1716,8 +1716,8 @@
<effectRange>400</effectRange> <effectRange>400</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>14555</channelingSkillId> <!-- Earth Wyrm Heart Protection --> <channelingSkillId>14555</channelingSkillId> <!-- Earth Wyrm Heart Protection -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
@@ -1974,8 +1974,8 @@
<magicLvl>87</magicLvl> <magicLvl>87</magicLvl>
<reuseDelayGroup>11050</reuseDelayGroup> <reuseDelayGroup>11050</reuseDelayGroup>
<channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice --> <channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -2001,8 +2001,8 @@
<magicLvl>87</magicLvl> <magicLvl>87</magicLvl>
<reuseDelayGroup>11050</reuseDelayGroup> <reuseDelayGroup>11050</reuseDelayGroup>
<channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice --> <channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -2028,8 +2028,8 @@
<magicLvl>87</magicLvl> <magicLvl>87</magicLvl>
<reuseDelayGroup>11050</reuseDelayGroup> <reuseDelayGroup>11050</reuseDelayGroup>
<channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice --> <channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -2055,8 +2055,8 @@
<magicLvl>87</magicLvl> <magicLvl>87</magicLvl>
<reuseDelayGroup>11050</reuseDelayGroup> <reuseDelayGroup>11050</reuseDelayGroup>
<channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice --> <channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -2082,8 +2082,8 @@
<magicLvl>87</magicLvl> <magicLvl>87</magicLvl>
<reuseDelayGroup>11050</reuseDelayGroup> <reuseDelayGroup>11050</reuseDelayGroup>
<channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice --> <channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -676,8 +676,8 @@
<rideState>NONE</rideState> <rideState>NONE</rideState>
<magicCriticalRate>-5</magicCriticalRate> <magicCriticalRate>-5</magicCriticalRate>
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
</skill> </skill>
@@ -465,8 +465,8 @@
<magicCriticalRate>-5</magicCriticalRate> <magicCriticalRate>-5</magicCriticalRate>
<effectRange>2000</effectRange> <effectRange>2000</effectRange>
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -2312,17 +2312,16 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>1400</effectRange> <effectRange>1400</effectRange>
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<hitTime>12000</hitTime> <hitTime>12000</hitTime>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<channelingSkillId>14982</channelingSkillId> <targetType>ENEMY</targetType>
<channelingEffects> <channelingEffects>
<effect name="HealPercent"> <effect name="HealPercent">
<power>-10</power> <power>-10</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
</skill> </skill>
<skill id="14983" toLevel="1" name="HP Drain"> <skill id="14983" toLevel="1" name="HP Drain">
@@ -2337,18 +2336,17 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>1400</effectRange> <effectRange>1400</effectRange>
<magicLvl>90</magicLvl> <magicLvl>90</magicLvl>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<hitTime>12000</hitTime> <hitTime>12000</hitTime>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<channelingSkillId>14983</channelingSkillId> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
<channelingEffects> <channelingEffects>
<effect name="HealPercent"> <effect name="HealPercent">
<power>-10</power> <power>-10</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
</skill> </skill>
<skill id="14984" toLevel="1" name="HP Drain"> <skill id="14984" toLevel="1" name="HP Drain">
<!-- Glory Days confirmed --> <!-- Glory Days confirmed -->
@@ -2362,18 +2360,17 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>1400</effectRange> <effectRange>1400</effectRange>
<magicLvl>95</magicLvl> <magicLvl>95</magicLvl>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<hitTime>12000</hitTime> <hitTime>12000</hitTime>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<channelingSkillId>14984</channelingSkillId> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
<channelingEffects> <channelingEffects>
<effect name="HealPercent"> <effect name="HealPercent">
<power>-10</power> <power>-10</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
</skill> </skill>
<skill id="14985" toLevel="1" name="Drain Status"> <skill id="14985" toLevel="1" name="Drain Status">
<!-- Glory Days confirmed --> <!-- Glory Days confirmed -->
@@ -2091,8 +2091,8 @@
<effectRange>3000</effectRange> <effectRange>3000</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>15175</channelingSkillId> <channelingSkillId>15175</channelingSkillId>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
@@ -2137,8 +2137,8 @@
<effectRange>3000</effectRange> <effectRange>3000</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>15177</channelingSkillId> <channelingSkillId>15177</channelingSkillId>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
@@ -2183,8 +2183,8 @@
<effectRange>3000</effectRange> <effectRange>3000</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>15179</channelingSkillId> <channelingSkillId>15179</channelingSkillId>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
@@ -2229,8 +2229,8 @@
<effectRange>3000</effectRange> <effectRange>3000</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>15181</channelingSkillId> <channelingSkillId>15181</channelingSkillId>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
@@ -1728,7 +1728,7 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>2160</effectRange> <effectRange>2160</effectRange>
<magicLvl>95</magicLvl> <magicLvl>95</magicLvl>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>0</channelingTickInterval> <channelingTickInterval>0</channelingTickInterval>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
@@ -523,7 +523,7 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>1100</effectRange> <effectRange>1100</effectRange>
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>0</channelingTickInterval> <channelingTickInterval>0</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<hitTime>10000</hitTime> <hitTime>10000</hitTime>
@@ -2353,8 +2353,8 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>2200</effectRange> <effectRange>2200</effectRange>
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>OTHERS</targetType> <targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
+2 -2
View File
@@ -2368,8 +2368,8 @@
<xs:element name="blockedInOlympiad" type="xs:boolean" /> <xs:element name="blockedInOlympiad" type="xs:boolean" />
<xs:element name="channelingSkillId" type="xs:unsignedShort" /> <xs:element name="channelingSkillId" type="xs:unsignedShort" />
<xs:element name="mpPerChanneling" type="xs:unsignedByte" /> <xs:element name="mpPerChanneling" type="xs:unsignedByte" />
<xs:element name="channelingTickInitialDelay" type="xs:unsignedShort" /> <xs:element name="channelingStart" type="xs:decimal" />
<xs:element name="channelingTickInterval" type="xs:unsignedShort" /> <xs:element name="channelingTickInterval" type="xs:decimal" />
<xs:element name="removedOnDamage" type="xs:boolean" /> <xs:element name="removedOnDamage" type="xs:boolean" />
<xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" /> <xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" />
<xs:element name="itemConsumeSteps" type="xs:unsignedByte" /> <xs:element name="itemConsumeSteps" type="xs:unsignedByte" />
@@ -126,7 +126,7 @@ public final class Skill implements IIdentifiable
private final int _refId; private final int _refId;
// all times in milliseconds // all times in milliseconds
private final int _hitTime; private final int _hitTime;
// private final int _skillInterruptTime; private final double _hitCancelTime;
private final int _coolTime; private final int _coolTime;
private final long _reuseHashCode; private final long _reuseHashCode;
private final int _reuseDelay; private final int _reuseDelay;
@@ -185,8 +185,8 @@ public final class Skill implements IIdentifiable
// Channeling data // Channeling data
private final int _channelingSkillId; private final int _channelingSkillId;
private final int _channelingTickInitialDelay; private final long _channelingStart;
private final int _channelingTickInterval; private final long _channelingTickInterval;
// Mentoring // Mentoring
private final boolean _isMentoring; private final boolean _isMentoring;
@@ -259,6 +259,7 @@ public final class Skill implements IIdentifiable
_stayAfterDeath = set.getBoolean("stayAfterDeath", false); _stayAfterDeath = set.getBoolean("stayAfterDeath", false);
_hitTime = set.getInt("hitTime", 0); _hitTime = set.getInt("hitTime", 0);
_hitCancelTime = set.getDouble("hitCancelTime", 0);
_coolTime = set.getInt("coolTime", 0); _coolTime = set.getInt("coolTime", 0);
_isDebuff = set.getBoolean("isDebuff", false); _isDebuff = set.getBoolean("isDebuff", false);
_isRecoveryHerb = set.getBoolean("isRecoveryHerb", false); _isRecoveryHerb = set.getBoolean("isRecoveryHerb", false);
@@ -391,8 +392,8 @@ public final class Skill implements IIdentifiable
_icon = set.getString("icon", "icon.skill0000"); _icon = set.getString("icon", "icon.skill0000");
_channelingSkillId = set.getInt("channelingSkillId", 0); _channelingSkillId = set.getInt("channelingSkillId", 0);
_channelingTickInterval = set.getInt("channelingTickInterval", 2000); _channelingTickInterval = (long) set.getFloat("channelingTickInterval", 2000f) * 1000;
_channelingTickInitialDelay = set.getInt("channelingTickInitialDelay", _channelingTickInterval); _channelingStart = (long) (set.getFloat("channelingStart", 0f) * 1000);
_isMentoring = set.getBoolean("isMentoring", false); _isMentoring = set.getBoolean("isMentoring", false);
@@ -478,11 +479,6 @@ public final class Skill implements IIdentifiable
return false; return false;
} }
public boolean isDamage()
{
return hasEffectType(L2EffectType.MAGICAL_ATTACK, L2EffectType.HP_DRAIN, L2EffectType.PHYSICAL_ATTACK, L2EffectType.PHYSICAL_ATTACK_HP_LINK);
}
public boolean isSuicideAttack() public boolean isSuicideAttack()
{ {
return _isSuicideAttack; return _isSuicideAttack;
@@ -863,6 +859,11 @@ public final class Skill implements IIdentifiable
return _hitTime; return _hitTime;
} }
public double getHitCancelTime()
{
return _hitCancelTime;
}
/** /**
* @return the cool time * @return the cool time
*/ */
@@ -1355,8 +1356,6 @@ public final class Skill implements IIdentifiable
final EffectScope pvpOrPveEffectScope = effector.isPlayable() && effected.isAttackable() ? EffectScope.PVE : effector.isPlayable() && effected.isPlayable() ? EffectScope.PVP : null; final EffectScope pvpOrPveEffectScope = effector.isPlayable() && effected.isAttackable() ? EffectScope.PVE : effector.isPlayable() && effected.isPlayable() ? EffectScope.PVP : null;
applyEffectScope(pvpOrPveEffectScope, info, instant, addContinuousEffects); applyEffectScope(pvpOrPveEffectScope, info, instant, addContinuousEffects);
applyEffectScope(EffectScope.CHANNELING, info, instant, addContinuousEffects);
if (addContinuousEffects) if (addContinuousEffects)
{ {
// Aura skills reset the abnormal time. // Aura skills reset the abnormal time.
@@ -1430,6 +1429,23 @@ public final class Skill implements IIdentifiable
} }
} }
/**
* Applies the channeling effects from this skill to the target.
* @param effector the caster of the skill
* @param effected the target of the effect
*/
public void applyChannelingEffects(L2Character effector, L2Character effected)
{
// null targets cannot receive any effects.
if (effected == null)
{
return;
}
final BuffInfo info = new BuffInfo(effector, effected, this, false, null, null);
applyEffectScope(EffectScope.CHANNELING, info, true, true);
}
/** /**
* Activates a skill for the given creature and targets. * Activates a skill for the given creature and targets.
* @param caster the caster * @param caster the caster
@@ -1489,8 +1505,6 @@ public final class Skill implements IIdentifiable
final EffectScope pvpOrPveEffectScope = caster.isPlayable() && target.isAttackable() ? EffectScope.PVE : caster.isPlayable() && target.isPlayable() ? EffectScope.PVP : null; final EffectScope pvpOrPveEffectScope = caster.isPlayable() && target.isAttackable() ? EffectScope.PVE : caster.isPlayable() && target.isPlayable() ? EffectScope.PVP : null;
applyEffectScope(pvpOrPveEffectScope, info, true, false); applyEffectScope(pvpOrPveEffectScope, info, true, false);
applyEffectScope(EffectScope.CHANNELING, info, true, false);
} }
else else
{ {
@@ -1709,14 +1723,14 @@ public final class Skill implements IIdentifiable
return _icon; return _icon;
} }
public int getChannelingTickInterval() public long getChannelingTickInterval()
{ {
return _channelingTickInterval; return _channelingTickInterval;
} }
public int getChannelingTickInitialDelay() public long getChannelingTickInitialDelay()
{ {
return _channelingTickInitialDelay; return _channelingStart;
} }
public Set<MountType> getRideState() public Set<MountType> getRideState()
@@ -389,7 +389,7 @@ public class SkillCaster implements Runnable
} }
// Start channeling if skill is channeling. // Start channeling if skill is channeling.
if (_skill.isChanneling() && (_skill.getChannelingSkillId() > 0)) if (_skill.isChanneling())
{ {
caster.getSkillChannelizer().startChanneling(_skill); caster.getSkillChannelizer().startChanneling(_skill);
} }
@@ -149,82 +149,84 @@ public class SkillChannelizer implements Runnable
} }
// Apply channeling skills on the targets. // Apply channeling skills on the targets.
if (skill.getChannelingSkillId() > 0) final List<L2Character> targetList = new ArrayList<>();
final L2Object target = skill.getTarget(_channelizer, false, false, false);
if (target != null)
{ {
final List<L2Character> targetList = new ArrayList<>(); skill.forEachTargetAffected(_channelizer, target, o ->
final L2Object target = skill.getTarget(_channelizer, false, false, false);
if (target != null)
{ {
skill.forEachTargetAffected(_channelizer, target, o -> if (o.isCharacter())
{ {
if (o.isCharacter()) targetList.add((L2Character) o);
{ ((L2Character) o).getSkillChannelized().addChannelizer(skill.getChannelingSkillId(), _channelizer);
targetList.add((L2Character) o); }
((L2Character) o).getSkillChannelized().addChannelizer(skill.getChannelingSkillId(), _channelizer); });
} }
});
if (targetList.isEmpty())
{
return;
}
channelized = targetList;
for (L2Character character : channelized)
{
if (!Util.checkIfInRange(skill.getEffectRange(), _channelizer, character, true))
{
continue;
}
else if (!GeoEngine.getInstance().canSeeTarget(_channelizer, character))
{
continue;
} }
if (targetList.isEmpty()) if (skill.getChannelingSkillId() > 0)
{ {
return; final int maxSkillLevel = SkillData.getInstance().getMaxLevel(skill.getChannelingSkillId());
} final int skillLevel = Math.min(character.getSkillChannelized().getChannerlizersSize(skill.getChannelingSkillId()), maxSkillLevel);
channelized = targetList; final BuffInfo info = character.getEffectList().getBuffInfoBySkillId(skill.getChannelingSkillId());
for (L2Character character : channelized) if ((info == null) || (info.getSkill().getLevel() < skillLevel))
{
if (!Util.checkIfInRange(skill.getEffectRange(), _channelizer, character, true))
{ {
continue; final Skill channeledSkill = SkillData.getInstance().getSkill(skill.getChannelingSkillId(), skillLevel);
} if (channeledSkill == null)
else if (!GeoEngine.getInstance().canSeeTarget(_channelizer, character))
{
continue;
}
else
{
final int maxSkillLevel = SkillData.getInstance().getMaxLevel(skill.getChannelingSkillId());
final int skillLevel = Math.min(character.getSkillChannelized().getChannerlizersSize(skill.getChannelingSkillId()), maxSkillLevel);
final BuffInfo info = character.getEffectList().getBuffInfoBySkillId(skill.getChannelingSkillId());
if ((info == null) || (info.getSkill().getLevel() < skillLevel))
{ {
final Skill channeledSkill = SkillData.getInstance().getSkill(skill.getChannelingSkillId(), skillLevel); LOGGER.warning(getClass().getSimpleName() + ": Non existent channeling skill requested: " + skill);
if (channeledSkill == null) _channelizer.abortCast();
{ return;
LOGGER.warning(getClass().getSimpleName() + ": Non existent channeling skill requested: " + skill);
_channelizer.abortCast();
return;
}
// Update PvP status
if (character.isPlayable() && _channelizer.isPlayer())
{
((L2PcInstance) _channelizer).updatePvPStatus(character);
}
// Be warned, this method has the possibility to call doDie->abortCast->stopChanneling method. Variable cache above try"+ +" is used in this case to avoid NPEs.
channeledSkill.applyEffects(_channelizer, character);
// Reduce shots.
if (skill.useSpiritShot())
{
_channelizer.unchargeShot(_channelizer.isChargedShot(ShotType.BLESSED_SPIRITSHOTS) ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS);
}
else
{
_channelizer.unchargeShot(_channelizer.isChargedShot(ShotType.BLESSED_SOULSHOTS) ? ShotType.BLESSED_SOULSHOTS : ShotType.SOULSHOTS);
}
// Shots are re-charged every cast.
_channelizer.rechargeShots(skill.useSoulShot(), skill.useSpiritShot(), false);
} }
if (!skill.isToggle())
// Update PvP status
if (character.isPlayable() && _channelizer.isPlayer())
{ {
_channelizer.broadcastPacket(new MagicSkillLaunched(_channelizer, skill.getId(), skill.getLevel(), SkillCastingType.NORMAL, character)); ((L2PcInstance) _channelizer).updatePvPStatus(character);
} }
// Be warned, this method has the possibility to call doDie->abortCast->stopChanneling method. Variable cache above try{} is used in this case to avoid NPEs.
channeledSkill.applyEffects(_channelizer, character);
}
if (!skill.isToggle())
{
_channelizer.broadcastPacket(new MagicSkillLaunched(_channelizer, skill.getId(), skill.getLevel(), SkillCastingType.NORMAL, character));
} }
} }
else
{
skill.applyChannelingEffects(_channelizer, character);
}
// Reduce shots.
if (skill.useSpiritShot())
{
_channelizer.unchargeShot(_channelizer.isChargedShot(ShotType.BLESSED_SPIRITSHOTS) ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS);
}
else
{
_channelizer.unchargeShot(_channelizer.isChargedShot(ShotType.BLESSED_SOULSHOTS) ? ShotType.BLESSED_SOULSHOTS : ShotType.SOULSHOTS);
}
// Shots are re-charged every cast.
_channelizer.rechargeShots(skill.useSoulShot(), skill.useSpiritShot(), false);
} }
} }
catch (Exception e) catch (Exception e)
@@ -484,13 +484,7 @@ public final class Formulas
public static double calcSkillCancelTime(L2Character creature, Skill skill) public static double calcSkillCancelTime(L2Character creature, Skill skill)
{ {
// Fishing skills. return Math.max((skill.getHitCancelTime() * 1000) / calcSkillTimeFactor(creature, skill), SKILL_LAUNCH_TIME);
if ((skill.getId() == 1312) || (skill.getId() == 1314) || (skill.getId() == 1315))
{
return 0;
}
// return (int) Math.max(skill.getCancelTime() / calcSkillTimeFactor(attacker, skill), 500);
return Math.max(skill.getHitTime() / calcSkillTimeFactor(creature, skill), SKILL_LAUNCH_TIME);
} }
/** /**
@@ -2291,8 +2291,8 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>3600</channelingTickInitialDelay> <channelingStart>3.6</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>OTHERS</targetType> <targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
<conditions> <conditions>
@@ -2318,8 +2318,8 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>3600</channelingTickInitialDelay> <channelingStart>3.6</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>OTHERS</targetType> <targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
<conditions> <conditions>
@@ -2168,7 +2168,7 @@
<reuseDelay>1000</reuseDelay> <reuseDelay>1000</reuseDelay>
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>0</channelingTickInterval> <channelingTickInterval>0</channelingTickInterval>
<targetType>ADVANCE_BASE</targetType> <targetType>ADVANCE_BASE</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -870,8 +870,8 @@
<affectRange>200</affectRange> <affectRange>200</affectRange>
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
<castRange>900</castRange> <castRange>900</castRange>
<channelingSkillId>1419</channelingSkillId> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<attributeType>FIRE</attributeType> <attributeType>FIRE</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
@@ -891,23 +891,22 @@
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>500</power> <power>500</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
</skill> </skill>
<skill id="1420" toLevel="1" name="Cyclone"> <skill id="1420" toLevel="1" name="Cyclone">
<affectLimit>15-25</affectLimit> <affectLimit>15-25</affectLimit>
<affectRange>200</affectRange> <affectRange>200</affectRange>
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
<castRange>900</castRange> <castRange>900</castRange>
<channelingSkillId>1420</channelingSkillId> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<attributeType>WIND</attributeType> <attributeType>WIND</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
@@ -927,23 +926,22 @@
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>500</power> <power>500</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
</skill> </skill>
<skill id="1421" toLevel="1" name="Raging Waves"> <skill id="1421" toLevel="1" name="Raging Waves">
<affectLimit>15-25</affectLimit> <affectLimit>15-25</affectLimit>
<affectRange>200</affectRange> <affectRange>200</affectRange>
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
<castRange>900</castRange> <castRange>900</castRange>
<channelingSkillId>1421</channelingSkillId> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<attributeType>WATER</attributeType> <attributeType>WATER</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
@@ -963,15 +961,14 @@
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>500</power> <power>500</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
</skill> </skill>
<skill id="1422" toLevel="1" name="Day of Doom"> <skill id="1422" toLevel="1" name="Day of Doom">
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
@@ -1021,8 +1018,8 @@
<affectRange>200</affectRange> <affectRange>200</affectRange>
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
<castRange>900</castRange> <castRange>900</castRange>
<channelingSkillId>1423</channelingSkillId> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
@@ -1042,15 +1039,14 @@
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>500</power> <power>500</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
</skill> </skill>
<skill id="1424" toLevel="1" name="Anti-summoning Field"> <skill id="1424" toLevel="1" name="Anti-summoning Field">
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
@@ -3538,7 +3534,8 @@
<!-- Confirmed CT2.5 --> <!-- Confirmed CT2.5 -->
<!-- Kamael Final Form Skill --> <!-- Kamael Final Form Skill -->
<castRange>900</castRange> <castRange>900</castRange>
<channelingTickInterval>2000</channelingTickInterval> <channelingStart>1</channelingStart>
<channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
@@ -3555,14 +3552,13 @@
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>30</power> <power>30</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
</skill> </skill>
<skill id="1473" toLevel="1" name="Change Weapon"> <skill id="1473" toLevel="1" name="Change Weapon">
<!-- Confirmed CT2.5 --> <!-- Confirmed CT2.5 -->
@@ -2989,7 +2989,8 @@
<!-- Confirmed CT2.5 --> <!-- Confirmed CT2.5 -->
<!-- Kamael Final Form Skill --> <!-- Kamael Final Form Skill -->
<castRange>900</castRange> <castRange>900</castRange>
<channelingTickInterval>2000</channelingTickInterval> <channelingStart>1</channelingStart>
<channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
@@ -3006,14 +3007,13 @@
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>30</power> <power>30</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
</skill> </skill>
<skill id="1546" toLevel="1" name="Strider Fear"> <skill id="1546" toLevel="1" name="Strider Fear">
<!-- Confirmed CT2.5 --> <!-- Confirmed CT2.5 -->
@@ -242,7 +242,7 @@
<reuseDelay>5000</reuseDelay> <reuseDelay>5000</reuseDelay>
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>0</channelingTickInterval> <channelingTickInterval>0</channelingTickInterval>
<targetType>FORTRESS_FLAGPOLE</targetType> <targetType>FORTRESS_FLAGPOLE</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -1135,7 +1135,7 @@
<skill id="3626" toLevel="1" name="Kabokula"> <skill id="3626" toLevel="1" name="Kabokula">
<castRange>300</castRange> <castRange>300</castRange>
<channelingSkillId>5106</channelingSkillId> <channelingSkillId>5106</channelingSkillId>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-100</effectPoint> <effectPoint>-100</effectPoint>
<effectRange>500</effectRange> <effectRange>500</effectRange>
<hitTime>25000</hitTime> <hitTime>25000</hitTime>
@@ -1150,7 +1150,7 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<targetType>ENEMY_ONLY</targetType> <targetType>ENEMY_ONLY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -1167,7 +1167,7 @@
<skill id="3627" toLevel="1" name="Tapirawa"> <skill id="3627" toLevel="1" name="Tapirawa">
<castRange>300</castRange> <castRange>300</castRange>
<channelingSkillId>5107</channelingSkillId> <channelingSkillId>5107</channelingSkillId>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-100</effectPoint> <effectPoint>-100</effectPoint>
<effectRange>500</effectRange> <effectRange>500</effectRange>
<hitTime>25000</hitTime> <hitTime>25000</hitTime>
@@ -1182,7 +1182,7 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<targetType>ENEMY_ONLY</targetType> <targetType>ENEMY_ONLY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -1199,7 +1199,7 @@
<skill id="3628" toLevel="1" name="Shabonoba"> <skill id="3628" toLevel="1" name="Shabonoba">
<castRange>300</castRange> <castRange>300</castRange>
<channelingSkillId>5108</channelingSkillId> <channelingSkillId>5108</channelingSkillId>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-100</effectPoint> <effectPoint>-100</effectPoint>
<effectRange>500</effectRange> <effectRange>500</effectRange>
<hitTime>25000</hitTime> <hitTime>25000</hitTime>
@@ -1214,7 +1214,7 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<targetType>ENEMY_ONLY</targetType> <targetType>ENEMY_ONLY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -4527,7 +4527,7 @@
<skill id="5396" toLevel="1" name="Spell Stance"> <skill id="5396" toLevel="1" name="Spell Stance">
<castRange>400</castRange> <castRange>400</castRange>
<channelingSkillId>5397</channelingSkillId> <channelingSkillId>5397</channelingSkillId>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<hitTime>15000</hitTime> <hitTime>15000</hitTime>
<isMagic>2</isMagic> <!-- Static Skill --> <isMagic>2</isMagic> <!-- Static Skill -->
<operateType>CA5</operateType> <operateType>CA5</operateType>
@@ -4536,7 +4536,7 @@
<magicCriticalRate>-5</magicCriticalRate> <magicCriticalRate>-5</magicCriticalRate>
<effectRange>600</effectRange> <effectRange>600</effectRange>
<magicLvl>77</magicLvl> <magicLvl>77</magicLvl>
<channelingTickInitialDelay>3600</channelingTickInitialDelay> <channelingStart>3.6</channelingStart>
<targetType>OTHERS</targetType> <targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
</skill> </skill>
@@ -2103,8 +2103,8 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<magicCriticalRate>-5</magicCriticalRate> <magicCriticalRate>-5</magicCriticalRate>
<channelingTickInitialDelay>3600</channelingTickInitialDelay> <channelingStart>3.6</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
<conditions> <conditions>
@@ -372,11 +372,16 @@
<attributeType>FIRE</attributeType> <attributeType>FIRE</attributeType>
<attributeValue>180</attributeValue> <attributeValue>180</attributeValue>
<affectRange>250</affectRange> <affectRange>250</affectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>SELF</targetType> <targetType>SELF</targetType>
<affectScope>POINT_BLANK</affectScope> <affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject> <affectObject>NOT_FRIEND</affectObject>
<channelingEffects>
<effect name="MagicalAttack">
<power>100</power>
</effect>
</channelingEffects>
</skill> </skill>
<skill id="5514" toLevel="1" name="Water Taint"> <skill id="5514" toLevel="1" name="Water Taint">
<effectPoint>-1063</effectPoint> <effectPoint>-1063</effectPoint>
@@ -388,11 +393,16 @@
<attributeType>WATER</attributeType> <attributeType>WATER</attributeType>
<attributeValue>180</attributeValue> <attributeValue>180</attributeValue>
<affectRange>250</affectRange> <affectRange>250</affectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>SELF</targetType> <targetType>SELF</targetType>
<affectScope>POINT_BLANK</affectScope> <affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject> <affectObject>NOT_FRIEND</affectObject>
<channelingEffects>
<effect name="MagicalAttack">
<power>30</power>
</effect>
</channelingEffects>
</skill> </skill>
<skill id="5515" toLevel="1" name="Wind Taint"> <skill id="5515" toLevel="1" name="Wind Taint">
<effectPoint>-1063</effectPoint> <effectPoint>-1063</effectPoint>
@@ -404,11 +414,16 @@
<attributeType>WIND</attributeType> <attributeType>WIND</attributeType>
<attributeValue>180</attributeValue> <attributeValue>180</attributeValue>
<affectRange>250</affectRange> <affectRange>250</affectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>SELF</targetType> <targetType>SELF</targetType>
<affectScope>POINT_BLANK</affectScope> <affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject> <affectObject>NOT_FRIEND</affectObject>
<channelingEffects>
<effect name="MagicalAttack">
<power>30</power>
</effect>
</channelingEffects>
</skill> </skill>
<skill id="5516" toLevel="1" name="Earth Taint"> <skill id="5516" toLevel="1" name="Earth Taint">
<effectPoint>-1063</effectPoint> <effectPoint>-1063</effectPoint>
@@ -420,11 +435,16 @@
<attributeType>EARTH</attributeType> <attributeType>EARTH</attributeType>
<attributeValue>180</attributeValue> <attributeValue>180</attributeValue>
<affectRange>250</affectRange> <affectRange>250</affectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>SELF</targetType> <targetType>SELF</targetType>
<affectScope>POINT_BLANK</affectScope> <affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject> <affectObject>NOT_FRIEND</affectObject>
<channelingEffects>
<effect name="MagicalAttack">
<power>30</power>
</effect>
</channelingEffects>
</skill> </skill>
<skill id="5517" toLevel="1" name="Nurture"> <skill id="5517" toLevel="1" name="Nurture">
<abnormalLvl>1</abnormalLvl> <abnormalLvl>1</abnormalLvl>
@@ -311,9 +311,9 @@
<magicCriticalRate>-5</magicCriticalRate> <magicCriticalRate>-5</magicCriticalRate>
<effectRange>1700</effectRange> <effectRange>1700</effectRange>
<channelingSkillId>5713</channelingSkillId> <channelingSkillId>5713</channelingSkillId>
<channelingTickInitialDelay>3600</channelingTickInitialDelay> <channelingStart>3.6</channelingStart>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>OTHERS</targetType> <targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
<effects> <effects>
@@ -2233,9 +2233,9 @@
<magicCriticalRate>-5</magicCriticalRate> <magicCriticalRate>-5</magicCriticalRate>
<effectRange>600</effectRange> <effectRange>600</effectRange>
<channelingSkillId>5713</channelingSkillId> <channelingSkillId>5713</channelingSkillId>
<channelingTickInitialDelay>3600</channelingTickInitialDelay> <channelingStart>3.6</channelingStart>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<castRange>400</castRange> <castRange>400</castRange>
<targetType>OTHERS</targetType> <targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -2777,8 +2777,8 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<effectPoint>-1</effectPoint> <effectPoint>-1</effectPoint>
<magicCriticalRate>-5</magicCriticalRate> <magicCriticalRate>-5</magicCriticalRate>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>5800</channelingTickInterval> <channelingTickInterval>5.8</channelingTickInterval>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
<conditions> <conditions>
@@ -1358,8 +1358,8 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>1400</effectRange> <effectRange>1400</effectRange>
<channelingSkillId>14559</channelingSkillId> <channelingSkillId>14559</channelingSkillId>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<icon>icon.skill1042</icon> <icon>icon.skill1042</icon>
<hitTime>10000</hitTime> <hitTime>10000</hitTime>
<reuseDelay>30000</reuseDelay> <reuseDelay>30000</reuseDelay>
@@ -944,7 +944,7 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>2000</effectRange> <effectRange>2000</effectRange>
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>0</channelingTickInterval> <channelingTickInterval>0</channelingTickInterval>
<hitTime>90000</hitTime> <hitTime>90000</hitTime>
<castRange>2000</castRange> <castRange>2000</castRange>
@@ -1782,7 +1782,7 @@
<attributeType>FIRE</attributeType> <attributeType>FIRE</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<affectRange>200</affectRange> <affectRange>200</affectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>0</channelingTickInterval> <channelingTickInterval>0</channelingTickInterval>
<targetType>SELF</targetType> <targetType>SELF</targetType>
<affectScope>POINT_BLANK</affectScope> <affectScope>POINT_BLANK</affectScope>
@@ -2559,23 +2559,19 @@
<attributeType>FIRE</attributeType> <attributeType>FIRE</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<affectRange>150</affectRange> <affectRange>150</affectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<affectLimit>10-10</affectLimit> <affectLimit>10-10</affectLimit>
<mpPerChanneling>72</mpPerChanneling> <mpPerChanneling>72</mpPerChanneling>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
<affectScope>RANGE</affectScope> <affectScope>RANGE</affectScope>
<affectObject>NOT_FRIEND</affectObject> <affectObject>NOT_FRIEND</affectObject>
<effects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>117</power> <power>117</power>
</effect> </effect>
<effect name="DamOverTime"> </channelingEffects>
<power>111</power>
<ticks>3</ticks>
</effect>
</effects>
</skill> </skill>
<skill id="8582" toLevel="1" name="Dark Vortex"> <skill id="8582" toLevel="1" name="Dark Vortex">
<!-- Glory Days Confirmed --> <!-- Glory Days Confirmed -->
@@ -2765,19 +2761,19 @@
<effectRange>1100</effectRange> <effectRange>1100</effectRange>
<magicLvl>81</magicLvl> <magicLvl>81</magicLvl>
<affectRange>150</affectRange> <affectRange>150</affectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<affectLimit>10-10</affectLimit> <affectLimit>10-10</affectLimit>
<mpPerChanneling>72</mpPerChanneling> <mpPerChanneling>72</mpPerChanneling>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
<affectScope>RANGE</affectScope> <affectScope>RANGE</affectScope>
<affectObject>NOT_FRIEND</affectObject> <affectObject>NOT_FRIEND</affectObject>
<effects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>117</power> <power>117</power>
</effect> </effect>
</effects> </channelingEffects>
</skill> </skill>
<skill id="8587" toLevel="1" name="Wind Vortex"> <skill id="8587" toLevel="1" name="Wind Vortex">
<!-- Glory Days Confirmed --> <!-- Glory Days Confirmed -->
@@ -2297,9 +2297,8 @@
<!-- Updated to IO --> <!-- Updated to IO -->
<!-- For 10 seconds, drains target's life with 25 Power per second. Absorbs 100% of the damage inflicted as HP. --> <!-- For 10 seconds, drains target's life with 25 Power per second. Absorbs 100% of the damage inflicted as HP. -->
<icon>icon.skill11030</icon> <icon>icon.skill11030</icon>
<channelingSkillId>11030</channelingSkillId> <channelingTickInterval>1</channelingTickInterval>
<channelingTickInterval>1000</channelingTickInterval> <channelingStart>1.2</channelingStart>
<channelingTickInitialDelay>1200</channelingTickInitialDelay>
<operateType>CA1</operateType> <operateType>CA1</operateType>
<magicLvl> <magicLvl>
<value level="1">85</value> <value level="1">85</value>
@@ -4318,8 +4317,8 @@
</activateRate> </activateRate>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<channelingSkillId>11182</channelingSkillId> <!-- Yoke Status --> <channelingSkillId>11182</channelingSkillId> <!-- Yoke Status -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<operateType>CA2</operateType> <operateType>CA2</operateType>
<trait>AIRBIND</trait> <trait>AIRBIND</trait>
@@ -2067,9 +2067,8 @@
<!-- Updated to IO --> <!-- Updated to IO -->
<!-- For 10 sec., attacks target with 115 Power per second and recovers HP equivalent to 100% of damage inflicted. --> <!-- For 10 sec., attacks target with 115 Power per second and recovers HP equivalent to 100% of damage inflicted. -->
<icon>icon.skill0000</icon> <icon>icon.skill0000</icon>
<channelingSkillId>11131</channelingSkillId> <channelingTickInterval>1</channelingTickInterval>
<channelingTickInterval>1000</channelingTickInterval> <channelingStart>2</channelingStart>
<channelingTickInitialDelay>2000</channelingTickInitialDelay>
<operateType>CA1</operateType> <operateType>CA1</operateType>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -2174,7 +2173,7 @@
<icon>icon.skill11134</icon> <icon>icon.skill11134</icon>
<affectRange>250</affectRange> <affectRange>250</affectRange>
<channelingSkillId>11134</channelingSkillId> <channelingSkillId>11134</channelingSkillId>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<attributeType>FIRE</attributeType> <attributeType>FIRE</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<itemConsumeCount>5</itemConsumeCount> <itemConsumeCount>5</itemConsumeCount>
@@ -2232,9 +2231,8 @@
<!-- Creates a black swamp in the selected location, dealing great damage, and receiving 50% of the target's damage as HP. Inflicts abnormal state and decreases Speed. The higher the level of the abnormal state, the greater the damage, and at the last stage, Shocks the target. Consumes 5 Spirit Ores. --> <!-- Creates a black swamp in the selected location, dealing great damage, and receiving 50% of the target's damage as HP. Inflicts abnormal state and decreases Speed. The higher the level of the abnormal state, the greater the damage, and at the last stage, Shocks the target. Consumes 5 Spirit Ores. -->
<icon>icon.skill11135</icon> <icon>icon.skill11135</icon>
<affectRange>250</affectRange> <affectRange>250</affectRange>
<channelingSkillId>11135</channelingSkillId> <channelingTickInterval>1</channelingTickInterval>
<channelingTickInterval>1000</channelingTickInterval> <channelingStart>2</channelingStart>
<channelingTickInitialDelay>2000</channelingTickInitialDelay>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<itemConsumeCount>5</itemConsumeCount> <itemConsumeCount>5</itemConsumeCount>
@@ -2249,6 +2247,7 @@
<reuseDelay>120000</reuseDelay> <reuseDelay>120000</reuseDelay>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<hitCancelTime>4</hitCancelTime>
<channelingEffects> <channelingEffects>
<effect name="HpDrain"> <effect name="HpDrain">
<power> <power>
@@ -2276,9 +2275,8 @@
<affectRange>250</affectRange> <affectRange>250</affectRange>
<abnormalLvl>1</abnormalLvl> <abnormalLvl>1</abnormalLvl>
<abnormalTime>5</abnormalTime> <abnormalTime>5</abnormalTime>
<channelingSkillId>11136</channelingSkillId> <channelingTickInterval>1</channelingTickInterval>
<channelingTickInterval>1000</channelingTickInterval> <channelingStart>2</channelingStart>
<channelingTickInitialDelay>2000</channelingTickInitialDelay>
<attributeType>WATER</attributeType> <attributeType>WATER</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<itemConsumeCount>5</itemConsumeCount> <itemConsumeCount>5</itemConsumeCount>
@@ -2293,6 +2291,7 @@
<reuseDelay>120000</reuseDelay> <reuseDelay>120000</reuseDelay>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<hitCancelTime>4</hitCancelTime>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power> <power>
@@ -2336,9 +2335,8 @@
<!-- Creates a tornado in the selected location, dealing great damage. Inflicts abnormal state and decreases Speed. The higher the level of the abnormal state, the greater the damage, and at the last stage, locks the target in an Aerial Yoke. Consumes 5 Spirit Ores. --> <!-- Creates a tornado in the selected location, dealing great damage. Inflicts abnormal state and decreases Speed. The higher the level of the abnormal state, the greater the damage, and at the last stage, locks the target in an Aerial Yoke. Consumes 5 Spirit Ores. -->
<icon>icon.skill11137</icon> <icon>icon.skill11137</icon>
<affectRange>250</affectRange> <affectRange>250</affectRange>
<channelingSkillId>11137</channelingSkillId> <channelingTickInterval>1</channelingTickInterval>
<channelingTickInterval>1000</channelingTickInterval> <channelingStart>2</channelingStart>
<channelingTickInitialDelay>2000</channelingTickInitialDelay>
<attributeType>WIND</attributeType> <attributeType>WIND</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<itemConsumeCount>5</itemConsumeCount> <itemConsumeCount>5</itemConsumeCount>
@@ -2353,6 +2351,7 @@
<reuseDelay>120000</reuseDelay> <reuseDelay>120000</reuseDelay>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<hitCancelTime>4</hitCancelTime>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power> <power>
@@ -2396,9 +2395,8 @@
<!-- Detonates the soul in the selected location to attack surrounding enemies. Inflicts abnormal state and increases PvP Damage. The effect increases as the level of the abnormal state increases. Consumes 5 Spirit Ores. --> <!-- Detonates the soul in the selected location to attack surrounding enemies. Inflicts abnormal state and increases PvP Damage. The effect increases as the level of the abnormal state increases. Consumes 5 Spirit Ores. -->
<icon>icon.skill11138</icon> <icon>icon.skill11138</icon>
<affectRange>250</affectRange> <!-- Guessed --> <affectRange>250</affectRange> <!-- Guessed -->
<channelingSkillId>11138</channelingSkillId> <channelingTickInterval>1</channelingTickInterval>
<channelingTickInterval>1000</channelingTickInterval> <channelingStart>2</channelingStart>
<channelingTickInitialDelay>2000</channelingTickInitialDelay>
<itemConsumeCount>5</itemConsumeCount> <itemConsumeCount>5</itemConsumeCount>
<itemConsumeId>3031</itemConsumeId> <!-- Spirit Ore --> <itemConsumeId>3031</itemConsumeId> <!-- Spirit Ore -->
<operateType>CA1</operateType> <operateType>CA1</operateType>
@@ -2411,6 +2409,7 @@
<reuseDelay>120000</reuseDelay> <reuseDelay>120000</reuseDelay>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<hitCancelTime>4</hitCancelTime>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>600</power> <power>600</power>
@@ -1205,7 +1205,7 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<magicLvl>95</magicLvl> <magicLvl>95</magicLvl>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>0</channelingTickInterval> <channelingTickInterval>0</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<reuseDelay>3000</reuseDelay> <reuseDelay>3000</reuseDelay>
@@ -465,9 +465,9 @@
<effectRange>1400</effectRange> <effectRange>1400</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>14217</channelingSkillId> <channelingSkillId>14217</channelingSkillId>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -660,9 +660,9 @@
<effectRange>600</effectRange> <effectRange>600</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>14225</channelingSkillId> <channelingSkillId>14225</channelingSkillId>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<reuseDelay>20000</reuseDelay> <reuseDelay>20000</reuseDelay>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -2341,8 +2341,8 @@
<effectRange>1500</effectRange> <effectRange>1500</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>14436</channelingSkillId> <!-- Obedience Status --> <channelingSkillId>14436</channelingSkillId> <!-- Obedience Status -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<hitTime>5000</hitTime> <hitTime>5000</hitTime>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
@@ -555,19 +555,19 @@
<magicLvl>62</magicLvl> <magicLvl>62</magicLvl>
<attributeType>FIRE</attributeType> <attributeType>FIRE</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<affectLimit>10-10</affectLimit> <affectLimit>10-10</affectLimit>
<mpPerChanneling>1</mpPerChanneling> <mpPerChanneling>1</mpPerChanneling>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
<effects> <channelingEffects>
<effect name="HpDrain"> <effect name="HpDrain">
<power>84</power> <power>84</power>
<percentage>40</percentage> <percentage>40</percentage>
</effect> </effect>
</effects> </channelingEffects>
</skill> </skill>
<skill id="14423" toLevel="1" name="Byron's Darkness Attack"> <skill id="14423" toLevel="1" name="Byron's Darkness Attack">
<!-- Glory Days confirmed --> <!-- Glory Days confirmed -->
@@ -889,8 +889,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -911,8 +911,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -933,8 +933,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -955,8 +955,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -977,8 +977,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -999,8 +999,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -1021,8 +1021,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -1043,8 +1043,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -205,8 +205,8 @@
<effectRange>1400</effectRange> <effectRange>1400</effectRange>
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<channelingSkillId>14510</channelingSkillId> <!-- Drain Status --> <channelingSkillId>14510</channelingSkillId> <!-- Drain Status -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -419,8 +419,8 @@
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<magicLvl>96</magicLvl> <magicLvl>96</magicLvl>
<channelingSkillId>14616</channelingSkillId> <!-- Blood Siphon --> <channelingSkillId>14616</channelingSkillId> <!-- Blood Siphon -->
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<reuseDelay>15000</reuseDelay> <reuseDelay>15000</reuseDelay>
@@ -644,8 +644,8 @@
<magicLvl>96</magicLvl> <magicLvl>96</magicLvl>
<attributeType>FIRE</attributeType> <attributeType>FIRE</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<fanRange>0;0;500;500</fanRange> <fanRange>0;0;500;500</fanRange>
<isMagic>1</isMagic> <isMagic>1</isMagic>
@@ -1481,8 +1481,8 @@
<effectRange>1100</effectRange> <effectRange>1100</effectRange>
<magicLvl>94</magicLvl> <magicLvl>94</magicLvl>
<channelingSkillId>14548</channelingSkillId> <!-- Yoke of Sacrifice --> <channelingSkillId>14548</channelingSkillId> <!-- Yoke of Sacrifice -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -1545,8 +1545,8 @@
<effectRange>1100</effectRange> <effectRange>1100</effectRange>
<magicLvl>94</magicLvl> <magicLvl>94</magicLvl>
<channelingSkillId>14550</channelingSkillId> <!-- Yoke of Offering --> <channelingSkillId>14550</channelingSkillId> <!-- Yoke of Offering -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -1716,8 +1716,8 @@
<effectRange>400</effectRange> <effectRange>400</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>14555</channelingSkillId> <!-- Earth Wyrm Heart Protection --> <channelingSkillId>14555</channelingSkillId> <!-- Earth Wyrm Heart Protection -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
@@ -1974,8 +1974,8 @@
<magicLvl>87</magicLvl> <magicLvl>87</magicLvl>
<reuseDelayGroup>11050</reuseDelayGroup> <reuseDelayGroup>11050</reuseDelayGroup>
<channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice --> <channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -2001,8 +2001,8 @@
<magicLvl>87</magicLvl> <magicLvl>87</magicLvl>
<reuseDelayGroup>11050</reuseDelayGroup> <reuseDelayGroup>11050</reuseDelayGroup>
<channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice --> <channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -2028,8 +2028,8 @@
<magicLvl>87</magicLvl> <magicLvl>87</magicLvl>
<reuseDelayGroup>11050</reuseDelayGroup> <reuseDelayGroup>11050</reuseDelayGroup>
<channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice --> <channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -2055,8 +2055,8 @@
<magicLvl>87</magicLvl> <magicLvl>87</magicLvl>
<reuseDelayGroup>11050</reuseDelayGroup> <reuseDelayGroup>11050</reuseDelayGroup>
<channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice --> <channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -2082,8 +2082,8 @@
<magicLvl>87</magicLvl> <magicLvl>87</magicLvl>
<reuseDelayGroup>11050</reuseDelayGroup> <reuseDelayGroup>11050</reuseDelayGroup>
<channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice --> <channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -676,8 +676,8 @@
<rideState>NONE</rideState> <rideState>NONE</rideState>
<magicCriticalRate>-5</magicCriticalRate> <magicCriticalRate>-5</magicCriticalRate>
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
</skill> </skill>
@@ -465,8 +465,8 @@
<magicCriticalRate>-5</magicCriticalRate> <magicCriticalRate>-5</magicCriticalRate>
<effectRange>2000</effectRange> <effectRange>2000</effectRange>
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -2312,17 +2312,16 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>1400</effectRange> <effectRange>1400</effectRange>
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<hitTime>12000</hitTime> <hitTime>12000</hitTime>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<channelingSkillId>14982</channelingSkillId> <targetType>ENEMY</targetType>
<channelingEffects> <channelingEffects>
<effect name="HealPercent"> <effect name="HealPercent">
<power>-10</power> <power>-10</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
</skill> </skill>
<skill id="14983" toLevel="1" name="HP Drain"> <skill id="14983" toLevel="1" name="HP Drain">
@@ -2337,18 +2336,17 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>1400</effectRange> <effectRange>1400</effectRange>
<magicLvl>90</magicLvl> <magicLvl>90</magicLvl>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<hitTime>12000</hitTime> <hitTime>12000</hitTime>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<channelingSkillId>14983</channelingSkillId> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
<channelingEffects> <channelingEffects>
<effect name="HealPercent"> <effect name="HealPercent">
<power>-10</power> <power>-10</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
</skill> </skill>
<skill id="14984" toLevel="1" name="HP Drain"> <skill id="14984" toLevel="1" name="HP Drain">
<!-- Glory Days confirmed --> <!-- Glory Days confirmed -->
@@ -2362,18 +2360,17 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>1400</effectRange> <effectRange>1400</effectRange>
<magicLvl>95</magicLvl> <magicLvl>95</magicLvl>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<hitTime>12000</hitTime> <hitTime>12000</hitTime>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<channelingSkillId>14984</channelingSkillId> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
<channelingEffects> <channelingEffects>
<effect name="HealPercent"> <effect name="HealPercent">
<power>-10</power> <power>-10</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
</skill> </skill>
<skill id="14985" toLevel="1" name="Drain Status"> <skill id="14985" toLevel="1" name="Drain Status">
<!-- Glory Days confirmed --> <!-- Glory Days confirmed -->
@@ -2091,8 +2091,8 @@
<effectRange>3000</effectRange> <effectRange>3000</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>15175</channelingSkillId> <channelingSkillId>15175</channelingSkillId>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
@@ -2137,8 +2137,8 @@
<effectRange>3000</effectRange> <effectRange>3000</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>15177</channelingSkillId> <channelingSkillId>15177</channelingSkillId>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
@@ -2183,8 +2183,8 @@
<effectRange>3000</effectRange> <effectRange>3000</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>15179</channelingSkillId> <channelingSkillId>15179</channelingSkillId>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
@@ -2229,8 +2229,8 @@
<effectRange>3000</effectRange> <effectRange>3000</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>15181</channelingSkillId> <channelingSkillId>15181</channelingSkillId>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
@@ -1728,7 +1728,7 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>2160</effectRange> <effectRange>2160</effectRange>
<magicLvl>95</magicLvl> <magicLvl>95</magicLvl>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>0</channelingTickInterval> <channelingTickInterval>0</channelingTickInterval>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
@@ -523,7 +523,7 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>1100</effectRange> <effectRange>1100</effectRange>
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>0</channelingTickInterval> <channelingTickInterval>0</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<hitTime>10000</hitTime> <hitTime>10000</hitTime>
@@ -2353,8 +2353,8 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>2200</effectRange> <effectRange>2200</effectRange>
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>OTHERS</targetType> <targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
+2 -2
View File
@@ -2465,8 +2465,8 @@
<xs:element name="blockedInOlympiad" type="xs:boolean" /> <xs:element name="blockedInOlympiad" type="xs:boolean" />
<xs:element name="channelingSkillId" type="xs:unsignedShort" /> <xs:element name="channelingSkillId" type="xs:unsignedShort" />
<xs:element name="mpPerChanneling" type="xs:unsignedByte" /> <xs:element name="mpPerChanneling" type="xs:unsignedByte" />
<xs:element name="channelingTickInitialDelay" type="xs:unsignedShort" /> <xs:element name="channelingStart" type="xs:decimal" />
<xs:element name="channelingTickInterval" type="xs:unsignedShort" /> <xs:element name="channelingTickInterval" type="xs:decimal" />
<xs:element name="removedOnDamage" type="xs:boolean" /> <xs:element name="removedOnDamage" type="xs:boolean" />
<xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" /> <xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" />
<xs:element name="itemConsumeSteps" type="xs:unsignedByte" /> <xs:element name="itemConsumeSteps" type="xs:unsignedByte" />
@@ -126,7 +126,7 @@ public final class Skill implements IIdentifiable
private final int _refId; private final int _refId;
// all times in milliseconds // all times in milliseconds
private final int _hitTime; private final int _hitTime;
// private final int _skillInterruptTime; private final double _hitCancelTime;
private final int _coolTime; private final int _coolTime;
private final long _reuseHashCode; private final long _reuseHashCode;
private final int _reuseDelay; private final int _reuseDelay;
@@ -185,8 +185,8 @@ public final class Skill implements IIdentifiable
// Channeling data // Channeling data
private final int _channelingSkillId; private final int _channelingSkillId;
private final int _channelingTickInitialDelay; private final long _channelingStart;
private final int _channelingTickInterval; private final long _channelingTickInterval;
// Mentoring // Mentoring
private final boolean _isMentoring; private final boolean _isMentoring;
@@ -259,6 +259,7 @@ public final class Skill implements IIdentifiable
_stayAfterDeath = set.getBoolean("stayAfterDeath", false); _stayAfterDeath = set.getBoolean("stayAfterDeath", false);
_hitTime = set.getInt("hitTime", 0); _hitTime = set.getInt("hitTime", 0);
_hitCancelTime = set.getDouble("hitCancelTime", 0);
_coolTime = set.getInt("coolTime", 0); _coolTime = set.getInt("coolTime", 0);
_isDebuff = set.getBoolean("isDebuff", false); _isDebuff = set.getBoolean("isDebuff", false);
_isRecoveryHerb = set.getBoolean("isRecoveryHerb", false); _isRecoveryHerb = set.getBoolean("isRecoveryHerb", false);
@@ -391,8 +392,8 @@ public final class Skill implements IIdentifiable
_icon = set.getString("icon", "icon.skill0000"); _icon = set.getString("icon", "icon.skill0000");
_channelingSkillId = set.getInt("channelingSkillId", 0); _channelingSkillId = set.getInt("channelingSkillId", 0);
_channelingTickInterval = set.getInt("channelingTickInterval", 2000); _channelingTickInterval = (long) set.getFloat("channelingTickInterval", 2000f) * 1000;
_channelingTickInitialDelay = set.getInt("channelingTickInitialDelay", _channelingTickInterval); _channelingStart = (long) (set.getFloat("channelingStart", 0f) * 1000);
_isMentoring = set.getBoolean("isMentoring", false); _isMentoring = set.getBoolean("isMentoring", false);
@@ -478,11 +479,6 @@ public final class Skill implements IIdentifiable
return false; return false;
} }
public boolean isDamage()
{
return hasEffectType(L2EffectType.MAGICAL_ATTACK, L2EffectType.HP_DRAIN, L2EffectType.PHYSICAL_ATTACK, L2EffectType.PHYSICAL_ATTACK_HP_LINK);
}
public boolean isSuicideAttack() public boolean isSuicideAttack()
{ {
return _isSuicideAttack; return _isSuicideAttack;
@@ -863,6 +859,11 @@ public final class Skill implements IIdentifiable
return _hitTime; return _hitTime;
} }
public double getHitCancelTime()
{
return _hitCancelTime;
}
/** /**
* @return the cool time * @return the cool time
*/ */
@@ -1355,8 +1356,6 @@ public final class Skill implements IIdentifiable
final EffectScope pvpOrPveEffectScope = effector.isPlayable() && effected.isAttackable() ? EffectScope.PVE : effector.isPlayable() && effected.isPlayable() ? EffectScope.PVP : null; final EffectScope pvpOrPveEffectScope = effector.isPlayable() && effected.isAttackable() ? EffectScope.PVE : effector.isPlayable() && effected.isPlayable() ? EffectScope.PVP : null;
applyEffectScope(pvpOrPveEffectScope, info, instant, addContinuousEffects); applyEffectScope(pvpOrPveEffectScope, info, instant, addContinuousEffects);
applyEffectScope(EffectScope.CHANNELING, info, instant, addContinuousEffects);
if (addContinuousEffects) if (addContinuousEffects)
{ {
// Aura skills reset the abnormal time. // Aura skills reset the abnormal time.
@@ -1430,6 +1429,23 @@ public final class Skill implements IIdentifiable
} }
} }
/**
* Applies the channeling effects from this skill to the target.
* @param effector the caster of the skill
* @param effected the target of the effect
*/
public void applyChannelingEffects(L2Character effector, L2Character effected)
{
// null targets cannot receive any effects.
if (effected == null)
{
return;
}
final BuffInfo info = new BuffInfo(effector, effected, this, false, null, null);
applyEffectScope(EffectScope.CHANNELING, info, true, true);
}
/** /**
* Activates a skill for the given creature and targets. * Activates a skill for the given creature and targets.
* @param caster the caster * @param caster the caster
@@ -1489,8 +1505,6 @@ public final class Skill implements IIdentifiable
final EffectScope pvpOrPveEffectScope = caster.isPlayable() && target.isAttackable() ? EffectScope.PVE : caster.isPlayable() && target.isPlayable() ? EffectScope.PVP : null; final EffectScope pvpOrPveEffectScope = caster.isPlayable() && target.isAttackable() ? EffectScope.PVE : caster.isPlayable() && target.isPlayable() ? EffectScope.PVP : null;
applyEffectScope(pvpOrPveEffectScope, info, true, false); applyEffectScope(pvpOrPveEffectScope, info, true, false);
applyEffectScope(EffectScope.CHANNELING, info, true, false);
} }
else else
{ {
@@ -1709,14 +1723,14 @@ public final class Skill implements IIdentifiable
return _icon; return _icon;
} }
public int getChannelingTickInterval() public long getChannelingTickInterval()
{ {
return _channelingTickInterval; return _channelingTickInterval;
} }
public int getChannelingTickInitialDelay() public long getChannelingTickInitialDelay()
{ {
return _channelingTickInitialDelay; return _channelingStart;
} }
public Set<MountType> getRideState() public Set<MountType> getRideState()
@@ -389,7 +389,7 @@ public class SkillCaster implements Runnable
} }
// Start channeling if skill is channeling. // Start channeling if skill is channeling.
if (_skill.isChanneling() && (_skill.getChannelingSkillId() > 0)) if (_skill.isChanneling())
{ {
caster.getSkillChannelizer().startChanneling(_skill); caster.getSkillChannelizer().startChanneling(_skill);
} }
@@ -149,82 +149,84 @@ public class SkillChannelizer implements Runnable
} }
// Apply channeling skills on the targets. // Apply channeling skills on the targets.
if (skill.getChannelingSkillId() > 0) final List<L2Character> targetList = new ArrayList<>();
final L2Object target = skill.getTarget(_channelizer, false, false, false);
if (target != null)
{ {
final List<L2Character> targetList = new ArrayList<>(); skill.forEachTargetAffected(_channelizer, target, o ->
final L2Object target = skill.getTarget(_channelizer, false, false, false);
if (target != null)
{ {
skill.forEachTargetAffected(_channelizer, target, o -> if (o.isCharacter())
{ {
if (o.isCharacter()) targetList.add((L2Character) o);
{ ((L2Character) o).getSkillChannelized().addChannelizer(skill.getChannelingSkillId(), _channelizer);
targetList.add((L2Character) o); }
((L2Character) o).getSkillChannelized().addChannelizer(skill.getChannelingSkillId(), _channelizer); });
} }
});
if (targetList.isEmpty())
{
return;
}
channelized = targetList;
for (L2Character character : channelized)
{
if (!Util.checkIfInRange(skill.getEffectRange(), _channelizer, character, true))
{
continue;
}
else if (!GeoEngine.getInstance().canSeeTarget(_channelizer, character))
{
continue;
} }
if (targetList.isEmpty()) if (skill.getChannelingSkillId() > 0)
{ {
return; final int maxSkillLevel = SkillData.getInstance().getMaxLevel(skill.getChannelingSkillId());
} final int skillLevel = Math.min(character.getSkillChannelized().getChannerlizersSize(skill.getChannelingSkillId()), maxSkillLevel);
channelized = targetList; final BuffInfo info = character.getEffectList().getBuffInfoBySkillId(skill.getChannelingSkillId());
for (L2Character character : channelized) if ((info == null) || (info.getSkill().getLevel() < skillLevel))
{
if (!Util.checkIfInRange(skill.getEffectRange(), _channelizer, character, true))
{ {
continue; final Skill channeledSkill = SkillData.getInstance().getSkill(skill.getChannelingSkillId(), skillLevel);
} if (channeledSkill == null)
else if (!GeoEngine.getInstance().canSeeTarget(_channelizer, character))
{
continue;
}
else
{
final int maxSkillLevel = SkillData.getInstance().getMaxLevel(skill.getChannelingSkillId());
final int skillLevel = Math.min(character.getSkillChannelized().getChannerlizersSize(skill.getChannelingSkillId()), maxSkillLevel);
final BuffInfo info = character.getEffectList().getBuffInfoBySkillId(skill.getChannelingSkillId());
if ((info == null) || (info.getSkill().getLevel() < skillLevel))
{ {
final Skill channeledSkill = SkillData.getInstance().getSkill(skill.getChannelingSkillId(), skillLevel); LOGGER.warning(getClass().getSimpleName() + ": Non existent channeling skill requested: " + skill);
if (channeledSkill == null) _channelizer.abortCast();
{ return;
LOGGER.warning(getClass().getSimpleName() + ": Non existent channeling skill requested: " + skill);
_channelizer.abortCast();
return;
}
// Update PvP status
if (character.isPlayable() && _channelizer.isPlayer())
{
((L2PcInstance) _channelizer).updatePvPStatus(character);
}
// Be warned, this method has the possibility to call doDie->abortCast->stopChanneling method. Variable cache above try"+ +" is used in this case to avoid NPEs.
channeledSkill.applyEffects(_channelizer, character);
// Reduce shots.
if (skill.useSpiritShot())
{
_channelizer.unchargeShot(_channelizer.isChargedShot(ShotType.BLESSED_SPIRITSHOTS) ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS);
}
else
{
_channelizer.unchargeShot(_channelizer.isChargedShot(ShotType.BLESSED_SOULSHOTS) ? ShotType.BLESSED_SOULSHOTS : ShotType.SOULSHOTS);
}
// Shots are re-charged every cast.
_channelizer.rechargeShots(skill.useSoulShot(), skill.useSpiritShot(), false);
} }
if (!skill.isToggle())
// Update PvP status
if (character.isPlayable() && _channelizer.isPlayer())
{ {
_channelizer.broadcastPacket(new MagicSkillLaunched(_channelizer, skill.getId(), skill.getLevel(), SkillCastingType.NORMAL, character)); ((L2PcInstance) _channelizer).updatePvPStatus(character);
} }
// Be warned, this method has the possibility to call doDie->abortCast->stopChanneling method. Variable cache above try{} is used in this case to avoid NPEs.
channeledSkill.applyEffects(_channelizer, character);
}
if (!skill.isToggle())
{
_channelizer.broadcastPacket(new MagicSkillLaunched(_channelizer, skill.getId(), skill.getLevel(), SkillCastingType.NORMAL, character));
} }
} }
else
{
skill.applyChannelingEffects(_channelizer, character);
}
// Reduce shots.
if (skill.useSpiritShot())
{
_channelizer.unchargeShot(_channelizer.isChargedShot(ShotType.BLESSED_SPIRITSHOTS) ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS);
}
else
{
_channelizer.unchargeShot(_channelizer.isChargedShot(ShotType.BLESSED_SOULSHOTS) ? ShotType.BLESSED_SOULSHOTS : ShotType.SOULSHOTS);
}
// Shots are re-charged every cast.
_channelizer.rechargeShots(skill.useSoulShot(), skill.useSpiritShot(), false);
} }
} }
catch (Exception e) catch (Exception e)
@@ -484,13 +484,7 @@ public final class Formulas
public static double calcSkillCancelTime(L2Character creature, Skill skill) public static double calcSkillCancelTime(L2Character creature, Skill skill)
{ {
// Fishing skills. return Math.max((skill.getHitCancelTime() * 1000) / calcSkillTimeFactor(creature, skill), SKILL_LAUNCH_TIME);
if ((skill.getId() == 1312) || (skill.getId() == 1314) || (skill.getId() == 1315))
{
return 0;
}
// return (int) Math.max(skill.getCancelTime() / calcSkillTimeFactor(attacker, skill), 500);
return Math.max(skill.getHitTime() / calcSkillTimeFactor(creature, skill), SKILL_LAUNCH_TIME);
} }
/** /**
@@ -2291,8 +2291,8 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>3600</channelingTickInitialDelay> <channelingStart>3.6</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>OTHERS</targetType> <targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
<conditions> <conditions>
@@ -2318,8 +2318,8 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>3600</channelingTickInitialDelay> <channelingStart>3.6</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>OTHERS</targetType> <targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
<conditions> <conditions>
@@ -2168,7 +2168,7 @@
<reuseDelay>1000</reuseDelay> <reuseDelay>1000</reuseDelay>
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>0</channelingTickInterval> <channelingTickInterval>0</channelingTickInterval>
<targetType>ADVANCE_BASE</targetType> <targetType>ADVANCE_BASE</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -870,8 +870,8 @@
<affectRange>200</affectRange> <affectRange>200</affectRange>
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
<castRange>900</castRange> <castRange>900</castRange>
<channelingSkillId>1419</channelingSkillId> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<attributeType>FIRE</attributeType> <attributeType>FIRE</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
@@ -891,23 +891,22 @@
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>500</power> <power>500</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
</skill> </skill>
<skill id="1420" toLevel="1" name="Cyclone"> <skill id="1420" toLevel="1" name="Cyclone">
<affectLimit>15-25</affectLimit> <affectLimit>15-25</affectLimit>
<affectRange>200</affectRange> <affectRange>200</affectRange>
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
<castRange>900</castRange> <castRange>900</castRange>
<channelingSkillId>1420</channelingSkillId> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<attributeType>WIND</attributeType> <attributeType>WIND</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
@@ -927,23 +926,22 @@
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>500</power> <power>500</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
</skill> </skill>
<skill id="1421" toLevel="1" name="Raging Waves"> <skill id="1421" toLevel="1" name="Raging Waves">
<affectLimit>15-25</affectLimit> <affectLimit>15-25</affectLimit>
<affectRange>200</affectRange> <affectRange>200</affectRange>
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
<castRange>900</castRange> <castRange>900</castRange>
<channelingSkillId>1421</channelingSkillId> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<attributeType>WATER</attributeType> <attributeType>WATER</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
@@ -963,15 +961,14 @@
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>500</power> <power>500</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
</skill> </skill>
<skill id="1422" toLevel="1" name="Day of Doom"> <skill id="1422" toLevel="1" name="Day of Doom">
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
@@ -1021,8 +1018,8 @@
<affectRange>200</affectRange> <affectRange>200</affectRange>
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
<castRange>900</castRange> <castRange>900</castRange>
<channelingSkillId>1423</channelingSkillId> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
@@ -1042,15 +1039,14 @@
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>500</power> <power>500</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
</skill> </skill>
<skill id="1424" toLevel="1" name="Anti-summoning Field"> <skill id="1424" toLevel="1" name="Anti-summoning Field">
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
@@ -3538,7 +3534,8 @@
<!-- Confirmed CT2.5 --> <!-- Confirmed CT2.5 -->
<!-- Kamael Final Form Skill --> <!-- Kamael Final Form Skill -->
<castRange>900</castRange> <castRange>900</castRange>
<channelingTickInterval>2000</channelingTickInterval> <channelingStart>1</channelingStart>
<channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
@@ -3555,14 +3552,13 @@
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>30</power> <power>30</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
</skill> </skill>
<skill id="1473" toLevel="1" name="Change Weapon"> <skill id="1473" toLevel="1" name="Change Weapon">
<!-- Confirmed CT2.5 --> <!-- Confirmed CT2.5 -->
@@ -2989,7 +2989,8 @@
<!-- Confirmed CT2.5 --> <!-- Confirmed CT2.5 -->
<!-- Kamael Final Form Skill --> <!-- Kamael Final Form Skill -->
<castRange>900</castRange> <castRange>900</castRange>
<channelingTickInterval>2000</channelingTickInterval> <channelingStart>1</channelingStart>
<channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
@@ -3006,14 +3007,13 @@
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>30</power> <power>30</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
</skill> </skill>
<skill id="1546" toLevel="1" name="Strider Fear"> <skill id="1546" toLevel="1" name="Strider Fear">
<!-- Confirmed CT2.5 --> <!-- Confirmed CT2.5 -->
@@ -242,7 +242,7 @@
<reuseDelay>5000</reuseDelay> <reuseDelay>5000</reuseDelay>
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>0</channelingTickInterval> <channelingTickInterval>0</channelingTickInterval>
<targetType>FORTRESS_FLAGPOLE</targetType> <targetType>FORTRESS_FLAGPOLE</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -1135,7 +1135,7 @@
<skill id="3626" toLevel="1" name="Kabokula"> <skill id="3626" toLevel="1" name="Kabokula">
<castRange>300</castRange> <castRange>300</castRange>
<channelingSkillId>5106</channelingSkillId> <channelingSkillId>5106</channelingSkillId>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-100</effectPoint> <effectPoint>-100</effectPoint>
<effectRange>500</effectRange> <effectRange>500</effectRange>
<hitTime>25000</hitTime> <hitTime>25000</hitTime>
@@ -1150,7 +1150,7 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<targetType>ENEMY_ONLY</targetType> <targetType>ENEMY_ONLY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -1167,7 +1167,7 @@
<skill id="3627" toLevel="1" name="Tapirawa"> <skill id="3627" toLevel="1" name="Tapirawa">
<castRange>300</castRange> <castRange>300</castRange>
<channelingSkillId>5107</channelingSkillId> <channelingSkillId>5107</channelingSkillId>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-100</effectPoint> <effectPoint>-100</effectPoint>
<effectRange>500</effectRange> <effectRange>500</effectRange>
<hitTime>25000</hitTime> <hitTime>25000</hitTime>
@@ -1182,7 +1182,7 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<targetType>ENEMY_ONLY</targetType> <targetType>ENEMY_ONLY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -1199,7 +1199,7 @@
<skill id="3628" toLevel="1" name="Shabonoba"> <skill id="3628" toLevel="1" name="Shabonoba">
<castRange>300</castRange> <castRange>300</castRange>
<channelingSkillId>5108</channelingSkillId> <channelingSkillId>5108</channelingSkillId>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-100</effectPoint> <effectPoint>-100</effectPoint>
<effectRange>500</effectRange> <effectRange>500</effectRange>
<hitTime>25000</hitTime> <hitTime>25000</hitTime>
@@ -1214,7 +1214,7 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<targetType>ENEMY_ONLY</targetType> <targetType>ENEMY_ONLY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -4527,7 +4527,7 @@
<skill id="5396" toLevel="1" name="Spell Stance"> <skill id="5396" toLevel="1" name="Spell Stance">
<castRange>400</castRange> <castRange>400</castRange>
<channelingSkillId>5397</channelingSkillId> <channelingSkillId>5397</channelingSkillId>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<hitTime>15000</hitTime> <hitTime>15000</hitTime>
<isMagic>2</isMagic> <!-- Static Skill --> <isMagic>2</isMagic> <!-- Static Skill -->
<operateType>CA5</operateType> <operateType>CA5</operateType>
@@ -4536,7 +4536,7 @@
<magicCriticalRate>-5</magicCriticalRate> <magicCriticalRate>-5</magicCriticalRate>
<effectRange>600</effectRange> <effectRange>600</effectRange>
<magicLvl>77</magicLvl> <magicLvl>77</magicLvl>
<channelingTickInitialDelay>3600</channelingTickInitialDelay> <channelingStart>3.6</channelingStart>
<targetType>OTHERS</targetType> <targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
</skill> </skill>
@@ -2103,8 +2103,8 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<magicCriticalRate>-5</magicCriticalRate> <magicCriticalRate>-5</magicCriticalRate>
<channelingTickInitialDelay>3600</channelingTickInitialDelay> <channelingStart>3.6</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
<conditions> <conditions>
@@ -372,11 +372,16 @@
<attributeType>FIRE</attributeType> <attributeType>FIRE</attributeType>
<attributeValue>180</attributeValue> <attributeValue>180</attributeValue>
<affectRange>250</affectRange> <affectRange>250</affectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>SELF</targetType> <targetType>SELF</targetType>
<affectScope>POINT_BLANK</affectScope> <affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject> <affectObject>NOT_FRIEND</affectObject>
<channelingEffects>
<effect name="MagicalAttack">
<power>100</power>
</effect>
</channelingEffects>
</skill> </skill>
<skill id="5514" toLevel="1" name="Water Taint"> <skill id="5514" toLevel="1" name="Water Taint">
<effectPoint>-1063</effectPoint> <effectPoint>-1063</effectPoint>
@@ -388,11 +393,16 @@
<attributeType>WATER</attributeType> <attributeType>WATER</attributeType>
<attributeValue>180</attributeValue> <attributeValue>180</attributeValue>
<affectRange>250</affectRange> <affectRange>250</affectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>SELF</targetType> <targetType>SELF</targetType>
<affectScope>POINT_BLANK</affectScope> <affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject> <affectObject>NOT_FRIEND</affectObject>
<channelingEffects>
<effect name="MagicalAttack">
<power>30</power>
</effect>
</channelingEffects>
</skill> </skill>
<skill id="5515" toLevel="1" name="Wind Taint"> <skill id="5515" toLevel="1" name="Wind Taint">
<effectPoint>-1063</effectPoint> <effectPoint>-1063</effectPoint>
@@ -404,11 +414,16 @@
<attributeType>WIND</attributeType> <attributeType>WIND</attributeType>
<attributeValue>180</attributeValue> <attributeValue>180</attributeValue>
<affectRange>250</affectRange> <affectRange>250</affectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>SELF</targetType> <targetType>SELF</targetType>
<affectScope>POINT_BLANK</affectScope> <affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject> <affectObject>NOT_FRIEND</affectObject>
<channelingEffects>
<effect name="MagicalAttack">
<power>30</power>
</effect>
</channelingEffects>
</skill> </skill>
<skill id="5516" toLevel="1" name="Earth Taint"> <skill id="5516" toLevel="1" name="Earth Taint">
<effectPoint>-1063</effectPoint> <effectPoint>-1063</effectPoint>
@@ -420,11 +435,16 @@
<attributeType>EARTH</attributeType> <attributeType>EARTH</attributeType>
<attributeValue>180</attributeValue> <attributeValue>180</attributeValue>
<affectRange>250</affectRange> <affectRange>250</affectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>SELF</targetType> <targetType>SELF</targetType>
<affectScope>POINT_BLANK</affectScope> <affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject> <affectObject>NOT_FRIEND</affectObject>
<channelingEffects>
<effect name="MagicalAttack">
<power>30</power>
</effect>
</channelingEffects>
</skill> </skill>
<skill id="5517" toLevel="1" name="Nurture"> <skill id="5517" toLevel="1" name="Nurture">
<abnormalLvl>1</abnormalLvl> <abnormalLvl>1</abnormalLvl>
@@ -311,9 +311,9 @@
<magicCriticalRate>-5</magicCriticalRate> <magicCriticalRate>-5</magicCriticalRate>
<effectRange>1700</effectRange> <effectRange>1700</effectRange>
<channelingSkillId>5713</channelingSkillId> <channelingSkillId>5713</channelingSkillId>
<channelingTickInitialDelay>3600</channelingTickInitialDelay> <channelingStart>3.6</channelingStart>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>OTHERS</targetType> <targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
<effects> <effects>
@@ -2233,9 +2233,9 @@
<magicCriticalRate>-5</magicCriticalRate> <magicCriticalRate>-5</magicCriticalRate>
<effectRange>600</effectRange> <effectRange>600</effectRange>
<channelingSkillId>5713</channelingSkillId> <channelingSkillId>5713</channelingSkillId>
<channelingTickInitialDelay>3600</channelingTickInitialDelay> <channelingStart>3.6</channelingStart>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<castRange>400</castRange> <castRange>400</castRange>
<targetType>OTHERS</targetType> <targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -2777,8 +2777,8 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<effectPoint>-1</effectPoint> <effectPoint>-1</effectPoint>
<magicCriticalRate>-5</magicCriticalRate> <magicCriticalRate>-5</magicCriticalRate>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>5800</channelingTickInterval> <channelingTickInterval>5.8</channelingTickInterval>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
<conditions> <conditions>
@@ -1358,8 +1358,8 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>1400</effectRange> <effectRange>1400</effectRange>
<channelingSkillId>14559</channelingSkillId> <channelingSkillId>14559</channelingSkillId>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<icon>icon.skill1042</icon> <icon>icon.skill1042</icon>
<hitTime>10000</hitTime> <hitTime>10000</hitTime>
<reuseDelay>30000</reuseDelay> <reuseDelay>30000</reuseDelay>
@@ -944,7 +944,7 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>2000</effectRange> <effectRange>2000</effectRange>
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>0</channelingTickInterval> <channelingTickInterval>0</channelingTickInterval>
<hitTime>90000</hitTime> <hitTime>90000</hitTime>
<castRange>2000</castRange> <castRange>2000</castRange>
@@ -1783,7 +1783,7 @@
<attributeType>FIRE</attributeType> <attributeType>FIRE</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<affectRange>200</affectRange> <affectRange>200</affectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>0</channelingTickInterval> <channelingTickInterval>0</channelingTickInterval>
<targetType>SELF</targetType> <targetType>SELF</targetType>
<affectScope>POINT_BLANK</affectScope> <affectScope>POINT_BLANK</affectScope>
@@ -2559,23 +2559,19 @@
<attributeType>FIRE</attributeType> <attributeType>FIRE</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<affectRange>150</affectRange> <affectRange>150</affectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<affectLimit>10-10</affectLimit> <affectLimit>10-10</affectLimit>
<mpPerChanneling>72</mpPerChanneling> <mpPerChanneling>72</mpPerChanneling>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
<affectScope>RANGE</affectScope> <affectScope>RANGE</affectScope>
<affectObject>NOT_FRIEND</affectObject> <affectObject>NOT_FRIEND</affectObject>
<effects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>117</power> <power>117</power>
</effect> </effect>
<effect name="DamOverTime"> </channelingEffects>
<power>111</power>
<ticks>3</ticks>
</effect>
</effects>
</skill> </skill>
<skill id="8582" toLevel="1" name="Dark Vortex"> <skill id="8582" toLevel="1" name="Dark Vortex">
<!-- Glory Days Confirmed --> <!-- Glory Days Confirmed -->
@@ -2765,19 +2761,19 @@
<effectRange>1100</effectRange> <effectRange>1100</effectRange>
<magicLvl>81</magicLvl> <magicLvl>81</magicLvl>
<affectRange>150</affectRange> <affectRange>150</affectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<affectLimit>10-10</affectLimit> <affectLimit>10-10</affectLimit>
<mpPerChanneling>72</mpPerChanneling> <mpPerChanneling>72</mpPerChanneling>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
<affectScope>RANGE</affectScope> <affectScope>RANGE</affectScope>
<affectObject>NOT_FRIEND</affectObject> <affectObject>NOT_FRIEND</affectObject>
<effects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>117</power> <power>117</power>
</effect> </effect>
</effects> </channelingEffects>
</skill> </skill>
<skill id="8587" toLevel="1" name="Wind Vortex"> <skill id="8587" toLevel="1" name="Wind Vortex">
<!-- Glory Days Confirmed --> <!-- Glory Days Confirmed -->
@@ -2297,9 +2297,8 @@
<!-- Updated to IO --> <!-- Updated to IO -->
<!-- For 10 seconds, drains target's life with 25 Power per second. Absorbs 100% of the damage inflicted as HP. --> <!-- For 10 seconds, drains target's life with 25 Power per second. Absorbs 100% of the damage inflicted as HP. -->
<icon>icon.skill11030</icon> <icon>icon.skill11030</icon>
<channelingSkillId>11030</channelingSkillId> <channelingTickInterval>1</channelingTickInterval>
<channelingTickInterval>1000</channelingTickInterval> <channelingStart>1.2</channelingStart>
<channelingTickInitialDelay>1200</channelingTickInitialDelay>
<operateType>CA1</operateType> <operateType>CA1</operateType>
<magicLvl> <magicLvl>
<value level="1">85</value> <value level="1">85</value>
@@ -4323,8 +4322,8 @@
</activateRate> </activateRate>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<channelingSkillId>11182</channelingSkillId> <!-- Yoke Status --> <channelingSkillId>11182</channelingSkillId> <!-- Yoke Status -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<operateType>CA2</operateType> <operateType>CA2</operateType>
<trait>AIRBIND</trait> <trait>AIRBIND</trait>
@@ -2067,9 +2067,8 @@
<!-- Updated to IO --> <!-- Updated to IO -->
<!-- For 10 sec., attacks target with 115 Power per second and recovers HP equivalent to 100% of damage inflicted. --> <!-- For 10 sec., attacks target with 115 Power per second and recovers HP equivalent to 100% of damage inflicted. -->
<icon>icon.skill0000</icon> <icon>icon.skill0000</icon>
<channelingSkillId>11131</channelingSkillId> <channelingTickInterval>1</channelingTickInterval>
<channelingTickInterval>1000</channelingTickInterval> <channelingStart>2</channelingStart>
<channelingTickInitialDelay>2000</channelingTickInitialDelay>
<operateType>CA1</operateType> <operateType>CA1</operateType>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -2174,7 +2173,7 @@
<icon>icon.skill11134</icon> <icon>icon.skill11134</icon>
<affectRange>250</affectRange> <affectRange>250</affectRange>
<channelingSkillId>11134</channelingSkillId> <channelingSkillId>11134</channelingSkillId>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<attributeType>FIRE</attributeType> <attributeType>FIRE</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<itemConsumeCount>5</itemConsumeCount> <itemConsumeCount>5</itemConsumeCount>
@@ -2232,9 +2231,8 @@
<!-- Creates a black swamp in the selected location, dealing great damage, and receiving 50% of the target's damage as HP. Inflicts abnormal state and decreases Speed. The higher the level of the abnormal state, the greater the damage, and at the last stage, Shocks the target. Consumes 5 Spirit Ores. --> <!-- Creates a black swamp in the selected location, dealing great damage, and receiving 50% of the target's damage as HP. Inflicts abnormal state and decreases Speed. The higher the level of the abnormal state, the greater the damage, and at the last stage, Shocks the target. Consumes 5 Spirit Ores. -->
<icon>icon.skill11135</icon> <icon>icon.skill11135</icon>
<affectRange>250</affectRange> <affectRange>250</affectRange>
<channelingSkillId>11135</channelingSkillId> <channelingTickInterval>1</channelingTickInterval>
<channelingTickInterval>1000</channelingTickInterval> <channelingStart>2</channelingStart>
<channelingTickInitialDelay>2000</channelingTickInitialDelay>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<itemConsumeCount>5</itemConsumeCount> <itemConsumeCount>5</itemConsumeCount>
@@ -2249,6 +2247,7 @@
<reuseDelay>120000</reuseDelay> <reuseDelay>120000</reuseDelay>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<hitCancelTime>4</hitCancelTime>
<channelingEffects> <channelingEffects>
<effect name="HpDrain"> <effect name="HpDrain">
<power> <power>
@@ -2276,9 +2275,8 @@
<affectRange>250</affectRange> <affectRange>250</affectRange>
<abnormalLvl>1</abnormalLvl> <abnormalLvl>1</abnormalLvl>
<abnormalTime>5</abnormalTime> <abnormalTime>5</abnormalTime>
<channelingSkillId>11136</channelingSkillId> <channelingTickInterval>1</channelingTickInterval>
<channelingTickInterval>1000</channelingTickInterval> <channelingStart>2</channelingStart>
<channelingTickInitialDelay>2000</channelingTickInitialDelay>
<attributeType>WATER</attributeType> <attributeType>WATER</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<itemConsumeCount>5</itemConsumeCount> <itemConsumeCount>5</itemConsumeCount>
@@ -2293,6 +2291,7 @@
<reuseDelay>120000</reuseDelay> <reuseDelay>120000</reuseDelay>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<hitCancelTime>4</hitCancelTime>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power> <power>
@@ -2336,9 +2335,8 @@
<!-- Creates a tornado in the selected location, dealing great damage. Inflicts abnormal state and decreases Speed. The higher the level of the abnormal state, the greater the damage, and at the last stage, locks the target in an Aerial Yoke. Consumes 5 Spirit Ores. --> <!-- Creates a tornado in the selected location, dealing great damage. Inflicts abnormal state and decreases Speed. The higher the level of the abnormal state, the greater the damage, and at the last stage, locks the target in an Aerial Yoke. Consumes 5 Spirit Ores. -->
<icon>icon.skill11137</icon> <icon>icon.skill11137</icon>
<affectRange>250</affectRange> <affectRange>250</affectRange>
<channelingSkillId>11137</channelingSkillId> <channelingTickInterval>1</channelingTickInterval>
<channelingTickInterval>1000</channelingTickInterval> <channelingStart>2</channelingStart>
<channelingTickInitialDelay>2000</channelingTickInitialDelay>
<attributeType>WIND</attributeType> <attributeType>WIND</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<itemConsumeCount>5</itemConsumeCount> <itemConsumeCount>5</itemConsumeCount>
@@ -2353,6 +2351,7 @@
<reuseDelay>120000</reuseDelay> <reuseDelay>120000</reuseDelay>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<hitCancelTime>4</hitCancelTime>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power> <power>
@@ -2396,9 +2395,8 @@
<!-- Detonates the soul in the selected location to attack surrounding enemies. Inflicts abnormal state and increases PvP Damage. The effect increases as the level of the abnormal state increases. Consumes 5 Spirit Ores. --> <!-- Detonates the soul in the selected location to attack surrounding enemies. Inflicts abnormal state and increases PvP Damage. The effect increases as the level of the abnormal state increases. Consumes 5 Spirit Ores. -->
<icon>icon.skill11138</icon> <icon>icon.skill11138</icon>
<affectRange>250</affectRange> <!-- Guessed --> <affectRange>250</affectRange> <!-- Guessed -->
<channelingSkillId>11138</channelingSkillId> <channelingTickInterval>1</channelingTickInterval>
<channelingTickInterval>1000</channelingTickInterval> <channelingStart>2</channelingStart>
<channelingTickInitialDelay>2000</channelingTickInitialDelay>
<itemConsumeCount>5</itemConsumeCount> <itemConsumeCount>5</itemConsumeCount>
<itemConsumeId>3031</itemConsumeId> <!-- Spirit Ore --> <itemConsumeId>3031</itemConsumeId> <!-- Spirit Ore -->
<operateType>CA1</operateType> <operateType>CA1</operateType>
@@ -2411,6 +2409,7 @@
<reuseDelay>120000</reuseDelay> <reuseDelay>120000</reuseDelay>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<hitCancelTime>4</hitCancelTime>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>600</power> <power>600</power>
@@ -1205,7 +1205,7 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<magicLvl>95</magicLvl> <magicLvl>95</magicLvl>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>0</channelingTickInterval> <channelingTickInterval>0</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<reuseDelay>3000</reuseDelay> <reuseDelay>3000</reuseDelay>
@@ -465,9 +465,9 @@
<effectRange>1400</effectRange> <effectRange>1400</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>14217</channelingSkillId> <channelingSkillId>14217</channelingSkillId>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -660,9 +660,9 @@
<effectRange>600</effectRange> <effectRange>600</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>14225</channelingSkillId> <channelingSkillId>14225</channelingSkillId>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<mpPerChanneling>15</mpPerChanneling> <mpPerChanneling>15</mpPerChanneling>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<reuseDelay>20000</reuseDelay> <reuseDelay>20000</reuseDelay>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -2341,8 +2341,8 @@
<effectRange>1500</effectRange> <effectRange>1500</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>14436</channelingSkillId> <!-- Obedience Status --> <channelingSkillId>14436</channelingSkillId> <!-- Obedience Status -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<hitTime>5000</hitTime> <hitTime>5000</hitTime>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
@@ -555,19 +555,19 @@
<magicLvl>62</magicLvl> <magicLvl>62</magicLvl>
<attributeType>FIRE</attributeType> <attributeType>FIRE</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<affectLimit>10-10</affectLimit> <affectLimit>10-10</affectLimit>
<mpPerChanneling>1</mpPerChanneling> <mpPerChanneling>1</mpPerChanneling>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
<effects> <channelingEffects>
<effect name="HpDrain"> <effect name="HpDrain">
<power>84</power> <power>84</power>
<percentage>40</percentage> <percentage>40</percentage>
</effect> </effect>
</effects> </channelingEffects>
</skill> </skill>
<skill id="14423" toLevel="1" name="Byron's Darkness Attack"> <skill id="14423" toLevel="1" name="Byron's Darkness Attack">
<!-- Glory Days confirmed --> <!-- Glory Days confirmed -->
@@ -889,8 +889,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -911,8 +911,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -933,8 +933,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -955,8 +955,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -977,8 +977,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -999,8 +999,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -1021,8 +1021,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -1043,8 +1043,8 @@
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -205,8 +205,8 @@
<effectRange>1400</effectRange> <effectRange>1400</effectRange>
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<channelingSkillId>14510</channelingSkillId> <!-- Drain Status --> <channelingSkillId>14510</channelingSkillId> <!-- Drain Status -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -419,8 +419,8 @@
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<magicLvl>96</magicLvl> <magicLvl>96</magicLvl>
<channelingSkillId>14616</channelingSkillId> <!-- Blood Siphon --> <channelingSkillId>14616</channelingSkillId> <!-- Blood Siphon -->
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<reuseDelay>15000</reuseDelay> <reuseDelay>15000</reuseDelay>
@@ -644,8 +644,8 @@
<magicLvl>96</magicLvl> <magicLvl>96</magicLvl>
<attributeType>FIRE</attributeType> <attributeType>FIRE</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<fanRange>0;0;500;500</fanRange> <fanRange>0;0;500;500</fanRange>
<isMagic>1</isMagic> <isMagic>1</isMagic>
@@ -1481,8 +1481,8 @@
<effectRange>1100</effectRange> <effectRange>1100</effectRange>
<magicLvl>94</magicLvl> <magicLvl>94</magicLvl>
<channelingSkillId>14548</channelingSkillId> <!-- Yoke of Sacrifice --> <channelingSkillId>14548</channelingSkillId> <!-- Yoke of Sacrifice -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -1545,8 +1545,8 @@
<effectRange>1100</effectRange> <effectRange>1100</effectRange>
<magicLvl>94</magicLvl> <magicLvl>94</magicLvl>
<channelingSkillId>14550</channelingSkillId> <!-- Yoke of Offering --> <channelingSkillId>14550</channelingSkillId> <!-- Yoke of Offering -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -1716,8 +1716,8 @@
<effectRange>400</effectRange> <effectRange>400</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>14555</channelingSkillId> <!-- Earth Wyrm Heart Protection --> <channelingSkillId>14555</channelingSkillId> <!-- Earth Wyrm Heart Protection -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
@@ -1974,8 +1974,8 @@
<magicLvl>87</magicLvl> <magicLvl>87</magicLvl>
<reuseDelayGroup>11050</reuseDelayGroup> <reuseDelayGroup>11050</reuseDelayGroup>
<channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice --> <channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -2001,8 +2001,8 @@
<magicLvl>87</magicLvl> <magicLvl>87</magicLvl>
<reuseDelayGroup>11050</reuseDelayGroup> <reuseDelayGroup>11050</reuseDelayGroup>
<channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice --> <channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -2028,8 +2028,8 @@
<magicLvl>87</magicLvl> <magicLvl>87</magicLvl>
<reuseDelayGroup>11050</reuseDelayGroup> <reuseDelayGroup>11050</reuseDelayGroup>
<channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice --> <channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -2055,8 +2055,8 @@
<magicLvl>87</magicLvl> <magicLvl>87</magicLvl>
<reuseDelayGroup>11050</reuseDelayGroup> <reuseDelayGroup>11050</reuseDelayGroup>
<channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice --> <channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -2082,8 +2082,8 @@
<magicLvl>87</magicLvl> <magicLvl>87</magicLvl>
<reuseDelayGroup>11050</reuseDelayGroup> <reuseDelayGroup>11050</reuseDelayGroup>
<channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice --> <channelingSkillId>14569</channelingSkillId> <!-- Yoke of Sacrifice -->
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
@@ -676,8 +676,8 @@
<rideState>NONE</rideState> <rideState>NONE</rideState>
<magicCriticalRate>-5</magicCriticalRate> <magicCriticalRate>-5</magicCriticalRate>
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
</skill> </skill>
@@ -465,8 +465,8 @@
<magicCriticalRate>-5</magicCriticalRate> <magicCriticalRate>-5</magicCriticalRate>
<effectRange>2000</effectRange> <effectRange>2000</effectRange>
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>ENEMY</targetType> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -2312,17 +2312,16 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>1400</effectRange> <effectRange>1400</effectRange>
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<hitTime>12000</hitTime> <hitTime>12000</hitTime>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<channelingSkillId>14982</channelingSkillId> <targetType>ENEMY</targetType>
<channelingEffects> <channelingEffects>
<effect name="HealPercent"> <effect name="HealPercent">
<power>-10</power> <power>-10</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
</skill> </skill>
<skill id="14983" toLevel="1" name="HP Drain"> <skill id="14983" toLevel="1" name="HP Drain">
@@ -2337,18 +2336,17 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>1400</effectRange> <effectRange>1400</effectRange>
<magicLvl>90</magicLvl> <magicLvl>90</magicLvl>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<hitTime>12000</hitTime> <hitTime>12000</hitTime>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<channelingSkillId>14983</channelingSkillId> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
<channelingEffects> <channelingEffects>
<effect name="HealPercent"> <effect name="HealPercent">
<power>-10</power> <power>-10</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
</skill> </skill>
<skill id="14984" toLevel="1" name="HP Drain"> <skill id="14984" toLevel="1" name="HP Drain">
<!-- Glory Days confirmed --> <!-- Glory Days confirmed -->
@@ -2362,18 +2360,17 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>1400</effectRange> <effectRange>1400</effectRange>
<magicLvl>95</magicLvl> <magicLvl>95</magicLvl>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<hitTime>12000</hitTime> <hitTime>12000</hitTime>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<channelingSkillId>14984</channelingSkillId> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
<channelingEffects> <channelingEffects>
<effect name="HealPercent"> <effect name="HealPercent">
<power>-10</power> <power>-10</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
</skill> </skill>
<skill id="14985" toLevel="1" name="Drain Status"> <skill id="14985" toLevel="1" name="Drain Status">
<!-- Glory Days confirmed --> <!-- Glory Days confirmed -->
@@ -2091,8 +2091,8 @@
<effectRange>3000</effectRange> <effectRange>3000</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>15175</channelingSkillId> <channelingSkillId>15175</channelingSkillId>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
@@ -2137,8 +2137,8 @@
<effectRange>3000</effectRange> <effectRange>3000</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>15177</channelingSkillId> <channelingSkillId>15177</channelingSkillId>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
@@ -2183,8 +2183,8 @@
<effectRange>3000</effectRange> <effectRange>3000</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>15179</channelingSkillId> <channelingSkillId>15179</channelingSkillId>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
@@ -2229,8 +2229,8 @@
<effectRange>3000</effectRange> <effectRange>3000</effectRange>
<magicLvl>99</magicLvl> <magicLvl>99</magicLvl>
<channelingSkillId>15181</channelingSkillId> <channelingSkillId>15181</channelingSkillId>
<channelingTickInitialDelay>1200</channelingTickInitialDelay> <channelingStart>1.2</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<isDebuff>true</isDebuff> <isDebuff>true</isDebuff>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
@@ -1728,7 +1728,7 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>2160</effectRange> <effectRange>2160</effectRange>
<magicLvl>95</magicLvl> <magicLvl>95</magicLvl>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>0</channelingTickInterval> <channelingTickInterval>0</channelingTickInterval>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>TARGET</targetType> <targetType>TARGET</targetType>
@@ -523,7 +523,7 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>1100</effectRange> <effectRange>1100</effectRange>
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>0</channelingTickInterval> <channelingTickInterval>0</channelingTickInterval>
<isMagic>2</isMagic> <isMagic>2</isMagic>
<hitTime>10000</hitTime> <hitTime>10000</hitTime>
@@ -2353,8 +2353,8 @@
<hitCancelTime>0</hitCancelTime> <hitCancelTime>0</hitCancelTime>
<effectRange>2200</effectRange> <effectRange>2200</effectRange>
<magicLvl>85</magicLvl> <magicLvl>85</magicLvl>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>1000</channelingTickInterval> <channelingTickInterval>1</channelingTickInterval>
<isMagic>1</isMagic> <isMagic>1</isMagic>
<targetType>OTHERS</targetType> <targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
+2 -2
View File
@@ -2497,8 +2497,8 @@
<xs:element name="blockedInOlympiad" type="xs:boolean" /> <xs:element name="blockedInOlympiad" type="xs:boolean" />
<xs:element name="channelingSkillId" type="xs:unsignedShort" /> <xs:element name="channelingSkillId" type="xs:unsignedShort" />
<xs:element name="mpPerChanneling" type="xs:unsignedByte" /> <xs:element name="mpPerChanneling" type="xs:unsignedByte" />
<xs:element name="channelingTickInitialDelay" type="xs:unsignedShort" /> <xs:element name="channelingStart" type="xs:decimal" />
<xs:element name="channelingTickInterval" type="xs:unsignedShort" /> <xs:element name="channelingTickInterval" type="xs:decimal" />
<xs:element name="removedOnDamage" type="xs:boolean" /> <xs:element name="removedOnDamage" type="xs:boolean" />
<xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" /> <xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" />
<xs:element name="itemConsumeSteps" type="xs:unsignedByte" /> <xs:element name="itemConsumeSteps" type="xs:unsignedByte" />
@@ -126,7 +126,7 @@ public final class Skill implements IIdentifiable
private final int _refId; private final int _refId;
// all times in milliseconds // all times in milliseconds
private final int _hitTime; private final int _hitTime;
// private final int _skillInterruptTime; private final double _hitCancelTime;
private final int _coolTime; private final int _coolTime;
private final long _reuseHashCode; private final long _reuseHashCode;
private final int _reuseDelay; private final int _reuseDelay;
@@ -185,8 +185,8 @@ public final class Skill implements IIdentifiable
// Channeling data // Channeling data
private final int _channelingSkillId; private final int _channelingSkillId;
private final int _channelingTickInitialDelay; private final long _channelingStart;
private final int _channelingTickInterval; private final long _channelingTickInterval;
// Mentoring // Mentoring
private final boolean _isMentoring; private final boolean _isMentoring;
@@ -259,6 +259,7 @@ public final class Skill implements IIdentifiable
_stayAfterDeath = set.getBoolean("stayAfterDeath", false); _stayAfterDeath = set.getBoolean("stayAfterDeath", false);
_hitTime = set.getInt("hitTime", 0); _hitTime = set.getInt("hitTime", 0);
_hitCancelTime = set.getDouble("hitCancelTime", 0);
_coolTime = set.getInt("coolTime", 0); _coolTime = set.getInt("coolTime", 0);
_isDebuff = set.getBoolean("isDebuff", false); _isDebuff = set.getBoolean("isDebuff", false);
_isRecoveryHerb = set.getBoolean("isRecoveryHerb", false); _isRecoveryHerb = set.getBoolean("isRecoveryHerb", false);
@@ -391,8 +392,8 @@ public final class Skill implements IIdentifiable
_icon = set.getString("icon", "icon.skill0000"); _icon = set.getString("icon", "icon.skill0000");
_channelingSkillId = set.getInt("channelingSkillId", 0); _channelingSkillId = set.getInt("channelingSkillId", 0);
_channelingTickInterval = set.getInt("channelingTickInterval", 2000); _channelingTickInterval = (long) set.getFloat("channelingTickInterval", 2000f) * 1000;
_channelingTickInitialDelay = set.getInt("channelingTickInitialDelay", _channelingTickInterval); _channelingStart = (long) (set.getFloat("channelingStart", 0f) * 1000);
_isMentoring = set.getBoolean("isMentoring", false); _isMentoring = set.getBoolean("isMentoring", false);
@@ -478,11 +479,6 @@ public final class Skill implements IIdentifiable
return false; return false;
} }
public boolean isDamage()
{
return hasEffectType(L2EffectType.MAGICAL_ATTACK, L2EffectType.HP_DRAIN, L2EffectType.PHYSICAL_ATTACK, L2EffectType.PHYSICAL_ATTACK_HP_LINK);
}
public boolean isSuicideAttack() public boolean isSuicideAttack()
{ {
return _isSuicideAttack; return _isSuicideAttack;
@@ -863,6 +859,11 @@ public final class Skill implements IIdentifiable
return _hitTime; return _hitTime;
} }
public double getHitCancelTime()
{
return _hitCancelTime;
}
/** /**
* @return the cool time * @return the cool time
*/ */
@@ -1355,8 +1356,6 @@ public final class Skill implements IIdentifiable
final EffectScope pvpOrPveEffectScope = effector.isPlayable() && effected.isAttackable() ? EffectScope.PVE : effector.isPlayable() && effected.isPlayable() ? EffectScope.PVP : null; final EffectScope pvpOrPveEffectScope = effector.isPlayable() && effected.isAttackable() ? EffectScope.PVE : effector.isPlayable() && effected.isPlayable() ? EffectScope.PVP : null;
applyEffectScope(pvpOrPveEffectScope, info, instant, addContinuousEffects); applyEffectScope(pvpOrPveEffectScope, info, instant, addContinuousEffects);
applyEffectScope(EffectScope.CHANNELING, info, instant, addContinuousEffects);
if (addContinuousEffects) if (addContinuousEffects)
{ {
// Aura skills reset the abnormal time. // Aura skills reset the abnormal time.
@@ -1430,6 +1429,23 @@ public final class Skill implements IIdentifiable
} }
} }
/**
* Applies the channeling effects from this skill to the target.
* @param effector the caster of the skill
* @param effected the target of the effect
*/
public void applyChannelingEffects(L2Character effector, L2Character effected)
{
// null targets cannot receive any effects.
if (effected == null)
{
return;
}
final BuffInfo info = new BuffInfo(effector, effected, this, false, null, null);
applyEffectScope(EffectScope.CHANNELING, info, true, true);
}
/** /**
* Activates a skill for the given creature and targets. * Activates a skill for the given creature and targets.
* @param caster the caster * @param caster the caster
@@ -1489,8 +1505,6 @@ public final class Skill implements IIdentifiable
final EffectScope pvpOrPveEffectScope = caster.isPlayable() && target.isAttackable() ? EffectScope.PVE : caster.isPlayable() && target.isPlayable() ? EffectScope.PVP : null; final EffectScope pvpOrPveEffectScope = caster.isPlayable() && target.isAttackable() ? EffectScope.PVE : caster.isPlayable() && target.isPlayable() ? EffectScope.PVP : null;
applyEffectScope(pvpOrPveEffectScope, info, true, false); applyEffectScope(pvpOrPveEffectScope, info, true, false);
applyEffectScope(EffectScope.CHANNELING, info, true, false);
} }
else else
{ {
@@ -1709,14 +1723,14 @@ public final class Skill implements IIdentifiable
return _icon; return _icon;
} }
public int getChannelingTickInterval() public long getChannelingTickInterval()
{ {
return _channelingTickInterval; return _channelingTickInterval;
} }
public int getChannelingTickInitialDelay() public long getChannelingTickInitialDelay()
{ {
return _channelingTickInitialDelay; return _channelingStart;
} }
public Set<MountType> getRideState() public Set<MountType> getRideState()
@@ -389,7 +389,7 @@ public class SkillCaster implements Runnable
} }
// Start channeling if skill is channeling. // Start channeling if skill is channeling.
if (_skill.isChanneling() && (_skill.getChannelingSkillId() > 0)) if (_skill.isChanneling())
{ {
caster.getSkillChannelizer().startChanneling(_skill); caster.getSkillChannelizer().startChanneling(_skill);
} }
@@ -149,82 +149,84 @@ public class SkillChannelizer implements Runnable
} }
// Apply channeling skills on the targets. // Apply channeling skills on the targets.
if (skill.getChannelingSkillId() > 0) final List<L2Character> targetList = new ArrayList<>();
final L2Object target = skill.getTarget(_channelizer, false, false, false);
if (target != null)
{ {
final List<L2Character> targetList = new ArrayList<>(); skill.forEachTargetAffected(_channelizer, target, o ->
final L2Object target = skill.getTarget(_channelizer, false, false, false);
if (target != null)
{ {
skill.forEachTargetAffected(_channelizer, target, o -> if (o.isCharacter())
{ {
if (o.isCharacter()) targetList.add((L2Character) o);
{ ((L2Character) o).getSkillChannelized().addChannelizer(skill.getChannelingSkillId(), _channelizer);
targetList.add((L2Character) o); }
((L2Character) o).getSkillChannelized().addChannelizer(skill.getChannelingSkillId(), _channelizer); });
} }
});
if (targetList.isEmpty())
{
return;
}
channelized = targetList;
for (L2Character character : channelized)
{
if (!Util.checkIfInRange(skill.getEffectRange(), _channelizer, character, true))
{
continue;
}
else if (!GeoEngine.getInstance().canSeeTarget(_channelizer, character))
{
continue;
} }
if (targetList.isEmpty()) if (skill.getChannelingSkillId() > 0)
{ {
return; final int maxSkillLevel = SkillData.getInstance().getMaxLevel(skill.getChannelingSkillId());
} final int skillLevel = Math.min(character.getSkillChannelized().getChannerlizersSize(skill.getChannelingSkillId()), maxSkillLevel);
channelized = targetList; final BuffInfo info = character.getEffectList().getBuffInfoBySkillId(skill.getChannelingSkillId());
for (L2Character character : channelized) if ((info == null) || (info.getSkill().getLevel() < skillLevel))
{
if (!Util.checkIfInRange(skill.getEffectRange(), _channelizer, character, true))
{ {
continue; final Skill channeledSkill = SkillData.getInstance().getSkill(skill.getChannelingSkillId(), skillLevel);
} if (channeledSkill == null)
else if (!GeoEngine.getInstance().canSeeTarget(_channelizer, character))
{
continue;
}
else
{
final int maxSkillLevel = SkillData.getInstance().getMaxLevel(skill.getChannelingSkillId());
final int skillLevel = Math.min(character.getSkillChannelized().getChannerlizersSize(skill.getChannelingSkillId()), maxSkillLevel);
final BuffInfo info = character.getEffectList().getBuffInfoBySkillId(skill.getChannelingSkillId());
if ((info == null) || (info.getSkill().getLevel() < skillLevel))
{ {
final Skill channeledSkill = SkillData.getInstance().getSkill(skill.getChannelingSkillId(), skillLevel); LOGGER.warning(getClass().getSimpleName() + ": Non existent channeling skill requested: " + skill);
if (channeledSkill == null) _channelizer.abortCast();
{ return;
LOGGER.warning(getClass().getSimpleName() + ": Non existent channeling skill requested: " + skill);
_channelizer.abortCast();
return;
}
// Update PvP status
if (character.isPlayable() && _channelizer.isPlayer())
{
((L2PcInstance) _channelizer).updatePvPStatus(character);
}
// Be warned, this method has the possibility to call doDie->abortCast->stopChanneling method. Variable cache above try"+ +" is used in this case to avoid NPEs.
channeledSkill.applyEffects(_channelizer, character);
// Reduce shots.
if (skill.useSpiritShot())
{
_channelizer.unchargeShot(_channelizer.isChargedShot(ShotType.BLESSED_SPIRITSHOTS) ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS);
}
else
{
_channelizer.unchargeShot(_channelizer.isChargedShot(ShotType.BLESSED_SOULSHOTS) ? ShotType.BLESSED_SOULSHOTS : ShotType.SOULSHOTS);
}
// Shots are re-charged every cast.
_channelizer.rechargeShots(skill.useSoulShot(), skill.useSpiritShot(), false);
} }
if (!skill.isToggle())
// Update PvP status
if (character.isPlayable() && _channelizer.isPlayer())
{ {
_channelizer.broadcastPacket(new MagicSkillLaunched(_channelizer, skill.getId(), skill.getLevel(), SkillCastingType.NORMAL, character)); ((L2PcInstance) _channelizer).updatePvPStatus(character);
} }
// Be warned, this method has the possibility to call doDie->abortCast->stopChanneling method. Variable cache above try{} is used in this case to avoid NPEs.
channeledSkill.applyEffects(_channelizer, character);
}
if (!skill.isToggle())
{
_channelizer.broadcastPacket(new MagicSkillLaunched(_channelizer, skill.getId(), skill.getLevel(), SkillCastingType.NORMAL, character));
} }
} }
else
{
skill.applyChannelingEffects(_channelizer, character);
}
// Reduce shots.
if (skill.useSpiritShot())
{
_channelizer.unchargeShot(_channelizer.isChargedShot(ShotType.BLESSED_SPIRITSHOTS) ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS);
}
else
{
_channelizer.unchargeShot(_channelizer.isChargedShot(ShotType.BLESSED_SOULSHOTS) ? ShotType.BLESSED_SOULSHOTS : ShotType.SOULSHOTS);
}
// Shots are re-charged every cast.
_channelizer.rechargeShots(skill.useSoulShot(), skill.useSpiritShot(), false);
} }
} }
catch (Exception e) catch (Exception e)
@@ -484,13 +484,7 @@ public final class Formulas
public static double calcSkillCancelTime(L2Character creature, Skill skill) public static double calcSkillCancelTime(L2Character creature, Skill skill)
{ {
// Fishing skills. return Math.max((skill.getHitCancelTime() * 1000) / calcSkillTimeFactor(creature, skill), SKILL_LAUNCH_TIME);
if ((skill.getId() == 1312) || (skill.getId() == 1314) || (skill.getId() == 1315))
{
return 0;
}
// return (int) Math.max(skill.getCancelTime() / calcSkillTimeFactor(attacker, skill), 500);
return Math.max(skill.getHitTime() / calcSkillTimeFactor(creature, skill), SKILL_LAUNCH_TIME);
} }
/** /**
@@ -2281,8 +2281,8 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>3600</channelingTickInitialDelay> <channelingStart>3.6</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>OTHERS</targetType> <targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
<conditions> <conditions>
@@ -2308,8 +2308,8 @@
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<basicProperty>NONE</basicProperty> <basicProperty>NONE</basicProperty>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>3600</channelingTickInitialDelay> <channelingStart>3.6</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<targetType>OTHERS</targetType> <targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
<conditions> <conditions>
@@ -2168,7 +2168,7 @@
<reuseDelay>1000</reuseDelay> <reuseDelay>1000</reuseDelay>
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState> <rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <channelingStart>1</channelingStart>
<channelingTickInterval>0</channelingTickInterval> <channelingTickInterval>0</channelingTickInterval>
<targetType>ADVANCE_BASE</targetType> <targetType>ADVANCE_BASE</targetType>
<affectScope>SINGLE</affectScope> <affectScope>SINGLE</affectScope>
@@ -870,8 +870,8 @@
<affectRange>200</affectRange> <affectRange>200</affectRange>
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
<castRange>900</castRange> <castRange>900</castRange>
<channelingSkillId>1419</channelingSkillId> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<attributeType>FIRE</attributeType> <attributeType>FIRE</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
@@ -891,23 +891,22 @@
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>500</power> <power>500</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
</skill> </skill>
<skill id="1420" toLevel="1" name="Cyclone"> <skill id="1420" toLevel="1" name="Cyclone">
<affectLimit>15-25</affectLimit> <affectLimit>15-25</affectLimit>
<affectRange>200</affectRange> <affectRange>200</affectRange>
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
<castRange>900</castRange> <castRange>900</castRange>
<channelingSkillId>1420</channelingSkillId> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<attributeType>WIND</attributeType> <attributeType>WIND</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
@@ -927,23 +926,22 @@
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>500</power> <power>500</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
</skill> </skill>
<skill id="1421" toLevel="1" name="Raging Waves"> <skill id="1421" toLevel="1" name="Raging Waves">
<affectLimit>15-25</affectLimit> <affectLimit>15-25</affectLimit>
<affectRange>200</affectRange> <affectRange>200</affectRange>
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
<castRange>900</castRange> <castRange>900</castRange>
<channelingSkillId>1421</channelingSkillId> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<attributeType>WATER</attributeType> <attributeType>WATER</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
@@ -963,15 +961,14 @@
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>500</power> <power>500</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
</skill> </skill>
<skill id="1422" toLevel="1" name="Day of Doom"> <skill id="1422" toLevel="1" name="Day of Doom">
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
@@ -1021,8 +1018,8 @@
<affectRange>200</affectRange> <affectRange>200</affectRange>
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
<castRange>900</castRange> <castRange>900</castRange>
<channelingSkillId>1423</channelingSkillId> <channelingStart>1</channelingStart>
<channelingTickInterval>2000</channelingTickInterval> <channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
<attributeValue>20</attributeValue> <attributeValue>20</attributeValue>
@@ -1042,15 +1039,14 @@
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>500</power> <power>500</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>GROUND</targetType>
<affectScope>POINT_BLANK</affectScope>
<affectObject>NOT_FRIEND</affectObject>
</skill> </skill>
<skill id="1424" toLevel="1" name="Anti-summoning Field"> <skill id="1424" toLevel="1" name="Anti-summoning Field">
<blockedInOlympiad>true</blockedInOlympiad> <blockedInOlympiad>true</blockedInOlympiad>
@@ -3538,7 +3534,8 @@
<!-- Confirmed CT2.5 --> <!-- Confirmed CT2.5 -->
<!-- Kamael Final Form Skill --> <!-- Kamael Final Form Skill -->
<castRange>900</castRange> <castRange>900</castRange>
<channelingTickInterval>2000</channelingTickInterval> <channelingStart>1</channelingStart>
<channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
@@ -3555,14 +3552,13 @@
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>30</power> <power>30</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
</skill> </skill>
<skill id="1473" toLevel="1" name="Change Weapon"> <skill id="1473" toLevel="1" name="Change Weapon">
<!-- Confirmed CT2.5 --> <!-- Confirmed CT2.5 -->
@@ -2989,7 +2989,8 @@
<!-- Confirmed CT2.5 --> <!-- Confirmed CT2.5 -->
<!-- Kamael Final Form Skill --> <!-- Kamael Final Form Skill -->
<castRange>900</castRange> <castRange>900</castRange>
<channelingTickInterval>2000</channelingTickInterval> <channelingStart>1</channelingStart>
<channelingTickInterval>2</channelingTickInterval>
<effectPoint>-676</effectPoint> <effectPoint>-676</effectPoint>
<effectRange>1000</effectRange> <effectRange>1000</effectRange>
<attributeType>DARK</attributeType> <attributeType>DARK</attributeType>
@@ -3006,14 +3007,13 @@
<staticReuse>true</staticReuse> <staticReuse>true</staticReuse>
<magicCriticalRate>5</magicCriticalRate> <magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>4</hitCancelTime> <hitCancelTime>4</hitCancelTime>
<channelingTickInitialDelay>1000</channelingTickInitialDelay> <targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
<channelingEffects> <channelingEffects>
<effect name="MagicalAttack"> <effect name="MagicalAttack">
<power>30</power> <power>30</power>
</effect> </effect>
</channelingEffects> </channelingEffects>
<targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
</skill> </skill>
<skill id="1546" toLevel="1" name="Strider Fear"> <skill id="1546" toLevel="1" name="Strider Fear">
<!-- Confirmed CT2.5 --> <!-- Confirmed CT2.5 -->

Some files were not shown because too many files have changed in this diff Show More