Class change related skill changes.
Contributed by Liamxroy.
This commit is contained in:
@@ -57,7 +57,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
if (effected.isPlayer())
|
if (effected.isPlayer())
|
||||||
{
|
{
|
||||||
final PlayerInstance player = effected.getActingPlayer();
|
final PlayerInstance player = effected.getActingPlayer();
|
||||||
// TODO: FIX ME - Executing 1 second later otherwise interupted exception during storeCharBase()
|
// TODO: FIX ME - Executing 100 ms later otherwise interupted exception during storeCharBase()
|
||||||
ThreadPool.schedule(() ->
|
ThreadPool.schedule(() ->
|
||||||
{
|
{
|
||||||
final int activeClass = player.getClassId().getId();
|
final int activeClass = player.getClassId().getId();
|
||||||
@@ -88,7 +88,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
player.sendPacket(new AcquireSkillList(player));
|
player.sendPacket(new AcquireSkillList(player));
|
||||||
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
||||||
player.sendPacket(new ExAcquireAPSkillList(player));
|
player.sendPacket(new ExAcquireAPSkillList(player));
|
||||||
}, 1000);
|
}, 100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -3865,14 +3865,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3895,14 +3895,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3925,14 +3925,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3955,14 +3955,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3989,20 +3989,21 @@
|
|||||||
<abnormalType>CLASS_CHANGE</abnormalType>
|
<abnormalType>CLASS_CHANGE</abnormalType>
|
||||||
<operateType>A2</operateType>
|
<operateType>A2</operateType>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>1</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<basicProperty>NONE</basicProperty>
|
<basicProperty>NONE</basicProperty>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>0</magicCriticalRate>
|
||||||
<specialLevel>-2</specialLevel>
|
<specialLevel>-2</specialLevel>
|
||||||
<hitCancelTime>0</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<magicLvl>-2</magicLvl>
|
<magicLvl>-2</magicLvl>
|
||||||
<irreplacableBuff>true</irreplacableBuff>
|
<irreplacableBuff>true</irreplacableBuff>
|
||||||
<isDebuff>true</isDebuff>
|
<isDebuff>true</isDebuff>
|
||||||
|
<canBeDispelled>false</canBeDispelled>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
<effects>
|
<effects>
|
||||||
<effect name="BlockSkill">
|
<effect name="BlockSkill">
|
||||||
<magicTypes>1;2;3;4;5</magicTypes>
|
<magicTypes>0;1;2;3;4;5;7;22;</magicTypes>
|
||||||
</effect>
|
</effect>
|
||||||
<effect name="PAtk">
|
<effect name="PAtk">
|
||||||
<amount>-70</amount>
|
<amount>-70</amount>
|
||||||
|
@@ -57,7 +57,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
if (effected.isPlayer())
|
if (effected.isPlayer())
|
||||||
{
|
{
|
||||||
final PlayerInstance player = effected.getActingPlayer();
|
final PlayerInstance player = effected.getActingPlayer();
|
||||||
// TODO: FIX ME - Executing 1 second later otherwise interupted exception during storeCharBase()
|
// TODO: FIX ME - Executing 100 ms later otherwise interupted exception during storeCharBase()
|
||||||
ThreadPool.schedule(() ->
|
ThreadPool.schedule(() ->
|
||||||
{
|
{
|
||||||
final int activeClass = player.getClassId().getId();
|
final int activeClass = player.getClassId().getId();
|
||||||
@@ -88,7 +88,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
player.sendPacket(new AcquireSkillList(player));
|
player.sendPacket(new AcquireSkillList(player));
|
||||||
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
||||||
player.sendPacket(new ExAcquireAPSkillList(player));
|
player.sendPacket(new ExAcquireAPSkillList(player));
|
||||||
}, 1000);
|
}, 100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -3909,14 +3909,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3939,14 +3939,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3969,14 +3969,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3999,14 +3999,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -4033,20 +4033,21 @@
|
|||||||
<abnormalType>CLASS_CHANGE</abnormalType>
|
<abnormalType>CLASS_CHANGE</abnormalType>
|
||||||
<operateType>A2</operateType>
|
<operateType>A2</operateType>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>1</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<basicProperty>NONE</basicProperty>
|
<basicProperty>NONE</basicProperty>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>0</magicCriticalRate>
|
||||||
<specialLevel>-2</specialLevel>
|
<specialLevel>-2</specialLevel>
|
||||||
<hitCancelTime>0</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<magicLvl>-2</magicLvl>
|
<magicLvl>-2</magicLvl>
|
||||||
<irreplacableBuff>true</irreplacableBuff>
|
<irreplacableBuff>true</irreplacableBuff>
|
||||||
<isDebuff>true</isDebuff>
|
<isDebuff>true</isDebuff>
|
||||||
|
<canBeDispelled>false</canBeDispelled>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
<effects>
|
<effects>
|
||||||
<effect name="BlockSkill">
|
<effect name="BlockSkill">
|
||||||
<magicTypes>1;2;3;4;5</magicTypes>
|
<magicTypes>0;1;2;3;4;5;7;22;</magicTypes>
|
||||||
</effect>
|
</effect>
|
||||||
<effect name="PAtk">
|
<effect name="PAtk">
|
||||||
<amount>-70</amount>
|
<amount>-70</amount>
|
||||||
|
@@ -57,7 +57,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
if (effected.isPlayer())
|
if (effected.isPlayer())
|
||||||
{
|
{
|
||||||
final PlayerInstance player = effected.getActingPlayer();
|
final PlayerInstance player = effected.getActingPlayer();
|
||||||
// TODO: FIX ME - Executing 1 second later otherwise interupted exception during storeCharBase()
|
// TODO: FIX ME - Executing 100 ms later otherwise interupted exception during storeCharBase()
|
||||||
ThreadPool.schedule(() ->
|
ThreadPool.schedule(() ->
|
||||||
{
|
{
|
||||||
final int activeClass = player.getClassId().getId();
|
final int activeClass = player.getClassId().getId();
|
||||||
@@ -88,7 +88,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
player.sendPacket(new AcquireSkillList(player));
|
player.sendPacket(new AcquireSkillList(player));
|
||||||
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
||||||
player.sendPacket(new ExAcquireAPSkillList(player));
|
player.sendPacket(new ExAcquireAPSkillList(player));
|
||||||
}, 1000);
|
}, 100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -3909,14 +3909,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3939,14 +3939,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3969,14 +3969,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3999,14 +3999,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -4033,20 +4033,21 @@
|
|||||||
<abnormalType>CLASS_CHANGE</abnormalType>
|
<abnormalType>CLASS_CHANGE</abnormalType>
|
||||||
<operateType>A2</operateType>
|
<operateType>A2</operateType>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>1</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<basicProperty>NONE</basicProperty>
|
<basicProperty>NONE</basicProperty>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>0</magicCriticalRate>
|
||||||
<specialLevel>-2</specialLevel>
|
<specialLevel>-2</specialLevel>
|
||||||
<hitCancelTime>0</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<magicLvl>-2</magicLvl>
|
<magicLvl>-2</magicLvl>
|
||||||
<irreplacableBuff>true</irreplacableBuff>
|
<irreplacableBuff>true</irreplacableBuff>
|
||||||
<isDebuff>true</isDebuff>
|
<isDebuff>true</isDebuff>
|
||||||
|
<canBeDispelled>false</canBeDispelled>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
<effects>
|
<effects>
|
||||||
<effect name="BlockSkill">
|
<effect name="BlockSkill">
|
||||||
<magicTypes>1;2;3;4;5</magicTypes>
|
<magicTypes>0;1;2;3;4;5;7;22;</magicTypes>
|
||||||
</effect>
|
</effect>
|
||||||
<effect name="PAtk">
|
<effect name="PAtk">
|
||||||
<amount>-70</amount>
|
<amount>-70</amount>
|
||||||
|
@@ -57,7 +57,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
if (effected.isPlayer())
|
if (effected.isPlayer())
|
||||||
{
|
{
|
||||||
final PlayerInstance player = effected.getActingPlayer();
|
final PlayerInstance player = effected.getActingPlayer();
|
||||||
// TODO: FIX ME - Executing 1 second later otherwise interupted exception during storeCharBase()
|
// TODO: FIX ME - Executing 100 ms later otherwise interupted exception during storeCharBase()
|
||||||
ThreadPool.schedule(() ->
|
ThreadPool.schedule(() ->
|
||||||
{
|
{
|
||||||
final int activeClass = player.getClassId().getId();
|
final int activeClass = player.getClassId().getId();
|
||||||
@@ -88,7 +88,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
player.sendPacket(new AcquireSkillList(player));
|
player.sendPacket(new AcquireSkillList(player));
|
||||||
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
||||||
player.sendPacket(new ExAcquireAPSkillList(player));
|
player.sendPacket(new ExAcquireAPSkillList(player));
|
||||||
}, 1000);
|
}, 100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -3909,14 +3909,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3939,14 +3939,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3969,14 +3969,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3999,14 +3999,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -4033,20 +4033,21 @@
|
|||||||
<abnormalType>CLASS_CHANGE</abnormalType>
|
<abnormalType>CLASS_CHANGE</abnormalType>
|
||||||
<operateType>A2</operateType>
|
<operateType>A2</operateType>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>1</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<basicProperty>NONE</basicProperty>
|
<basicProperty>NONE</basicProperty>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>0</magicCriticalRate>
|
||||||
<specialLevel>-2</specialLevel>
|
<specialLevel>-2</specialLevel>
|
||||||
<hitCancelTime>0</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<magicLvl>-2</magicLvl>
|
<magicLvl>-2</magicLvl>
|
||||||
<irreplacableBuff>true</irreplacableBuff>
|
<irreplacableBuff>true</irreplacableBuff>
|
||||||
<isDebuff>true</isDebuff>
|
<isDebuff>true</isDebuff>
|
||||||
|
<canBeDispelled>false</canBeDispelled>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
<effects>
|
<effects>
|
||||||
<effect name="BlockSkill">
|
<effect name="BlockSkill">
|
||||||
<magicTypes>1;2;3;4;5</magicTypes>
|
<magicTypes>0;1;2;3;4;5;7;22;</magicTypes>
|
||||||
</effect>
|
</effect>
|
||||||
<effect name="PAtk">
|
<effect name="PAtk">
|
||||||
<amount>-70</amount>
|
<amount>-70</amount>
|
||||||
|
@@ -57,7 +57,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
if (effected.isPlayer())
|
if (effected.isPlayer())
|
||||||
{
|
{
|
||||||
final PlayerInstance player = effected.getActingPlayer();
|
final PlayerInstance player = effected.getActingPlayer();
|
||||||
// TODO: FIX ME - Executing 1 second later otherwise interupted exception during storeCharBase()
|
// TODO: FIX ME - Executing 100 ms later otherwise interupted exception during storeCharBase()
|
||||||
ThreadPool.schedule(() ->
|
ThreadPool.schedule(() ->
|
||||||
{
|
{
|
||||||
final int activeClass = player.getClassId().getId();
|
final int activeClass = player.getClassId().getId();
|
||||||
@@ -88,7 +88,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
player.sendPacket(new AcquireSkillList(player));
|
player.sendPacket(new AcquireSkillList(player));
|
||||||
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
||||||
player.sendPacket(new ExAcquireAPSkillList(player));
|
player.sendPacket(new ExAcquireAPSkillList(player));
|
||||||
}, 1000);
|
}, 100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -3909,14 +3909,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3939,14 +3939,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3969,14 +3969,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3999,14 +3999,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -4033,20 +4033,21 @@
|
|||||||
<abnormalType>CLASS_CHANGE</abnormalType>
|
<abnormalType>CLASS_CHANGE</abnormalType>
|
||||||
<operateType>A2</operateType>
|
<operateType>A2</operateType>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>1</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<basicProperty>NONE</basicProperty>
|
<basicProperty>NONE</basicProperty>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>0</magicCriticalRate>
|
||||||
<specialLevel>-2</specialLevel>
|
<specialLevel>-2</specialLevel>
|
||||||
<hitCancelTime>0</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<magicLvl>-2</magicLvl>
|
<magicLvl>-2</magicLvl>
|
||||||
<irreplacableBuff>true</irreplacableBuff>
|
<irreplacableBuff>true</irreplacableBuff>
|
||||||
<isDebuff>true</isDebuff>
|
<isDebuff>true</isDebuff>
|
||||||
|
<canBeDispelled>false</canBeDispelled>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
<effects>
|
<effects>
|
||||||
<effect name="BlockSkill">
|
<effect name="BlockSkill">
|
||||||
<magicTypes>1;2;3;4;5</magicTypes>
|
<magicTypes>0;1;2;3;4;5;7;22;</magicTypes>
|
||||||
</effect>
|
</effect>
|
||||||
<effect name="PAtk">
|
<effect name="PAtk">
|
||||||
<amount>-70</amount>
|
<amount>-70</amount>
|
||||||
|
@@ -57,7 +57,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
if (effected.isPlayer())
|
if (effected.isPlayer())
|
||||||
{
|
{
|
||||||
final PlayerInstance player = effected.getActingPlayer();
|
final PlayerInstance player = effected.getActingPlayer();
|
||||||
// TODO: FIX ME - Executing 1 second later otherwise interupted exception during storeCharBase()
|
// TODO: FIX ME - Executing 100 ms later otherwise interupted exception during storeCharBase()
|
||||||
ThreadPool.schedule(() ->
|
ThreadPool.schedule(() ->
|
||||||
{
|
{
|
||||||
final int activeClass = player.getClassId().getId();
|
final int activeClass = player.getClassId().getId();
|
||||||
@@ -88,7 +88,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
player.sendPacket(new AcquireSkillList(player));
|
player.sendPacket(new AcquireSkillList(player));
|
||||||
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
||||||
player.sendPacket(new ExAcquireAPSkillList(player));
|
player.sendPacket(new ExAcquireAPSkillList(player));
|
||||||
}, 1000);
|
}, 100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -3909,14 +3909,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3939,14 +3939,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3969,14 +3969,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3999,14 +3999,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -4033,20 +4033,21 @@
|
|||||||
<abnormalType>CLASS_CHANGE</abnormalType>
|
<abnormalType>CLASS_CHANGE</abnormalType>
|
||||||
<operateType>A2</operateType>
|
<operateType>A2</operateType>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>1</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<basicProperty>NONE</basicProperty>
|
<basicProperty>NONE</basicProperty>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>0</magicCriticalRate>
|
||||||
<specialLevel>-2</specialLevel>
|
<specialLevel>-2</specialLevel>
|
||||||
<hitCancelTime>0</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<magicLvl>-2</magicLvl>
|
<magicLvl>-2</magicLvl>
|
||||||
<irreplacableBuff>true</irreplacableBuff>
|
<irreplacableBuff>true</irreplacableBuff>
|
||||||
<isDebuff>true</isDebuff>
|
<isDebuff>true</isDebuff>
|
||||||
|
<canBeDispelled>false</canBeDispelled>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
<effects>
|
<effects>
|
||||||
<effect name="BlockSkill">
|
<effect name="BlockSkill">
|
||||||
<magicTypes>1;2;3;4;5</magicTypes>
|
<magicTypes>0;1;2;3;4;5;7;22;</magicTypes>
|
||||||
</effect>
|
</effect>
|
||||||
<effect name="PAtk">
|
<effect name="PAtk">
|
||||||
<amount>-70</amount>
|
<amount>-70</amount>
|
||||||
|
@@ -57,7 +57,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
if (effected.isPlayer())
|
if (effected.isPlayer())
|
||||||
{
|
{
|
||||||
final PlayerInstance player = effected.getActingPlayer();
|
final PlayerInstance player = effected.getActingPlayer();
|
||||||
// TODO: FIX ME - Executing 1 second later otherwise interupted exception during storeCharBase()
|
// TODO: FIX ME - Executing 100 ms later otherwise interupted exception during storeCharBase()
|
||||||
ThreadPool.schedule(() ->
|
ThreadPool.schedule(() ->
|
||||||
{
|
{
|
||||||
final int activeClass = player.getClassId().getId();
|
final int activeClass = player.getClassId().getId();
|
||||||
@@ -88,7 +88,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
player.sendPacket(new AcquireSkillList(player));
|
player.sendPacket(new AcquireSkillList(player));
|
||||||
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
||||||
player.sendPacket(new ExAcquireAPSkillList(player));
|
player.sendPacket(new ExAcquireAPSkillList(player));
|
||||||
}, 1000);
|
}, 100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -3909,14 +3909,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3939,14 +3939,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3969,14 +3969,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3999,14 +3999,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -4033,20 +4033,21 @@
|
|||||||
<abnormalType>CLASS_CHANGE</abnormalType>
|
<abnormalType>CLASS_CHANGE</abnormalType>
|
||||||
<operateType>A2</operateType>
|
<operateType>A2</operateType>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>1</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<basicProperty>NONE</basicProperty>
|
<basicProperty>NONE</basicProperty>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>0</magicCriticalRate>
|
||||||
<specialLevel>-2</specialLevel>
|
<specialLevel>-2</specialLevel>
|
||||||
<hitCancelTime>0</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<magicLvl>-2</magicLvl>
|
<magicLvl>-2</magicLvl>
|
||||||
<irreplacableBuff>true</irreplacableBuff>
|
<irreplacableBuff>true</irreplacableBuff>
|
||||||
<isDebuff>true</isDebuff>
|
<isDebuff>true</isDebuff>
|
||||||
|
<canBeDispelled>false</canBeDispelled>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
<effects>
|
<effects>
|
||||||
<effect name="BlockSkill">
|
<effect name="BlockSkill">
|
||||||
<magicTypes>1;2;3;4;5</magicTypes>
|
<magicTypes>0;1;2;3;4;5;7;22;</magicTypes>
|
||||||
</effect>
|
</effect>
|
||||||
<effect name="PAtk">
|
<effect name="PAtk">
|
||||||
<amount>-70</amount>
|
<amount>-70</amount>
|
||||||
|
@@ -57,7 +57,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
if (effected.isPlayer())
|
if (effected.isPlayer())
|
||||||
{
|
{
|
||||||
final PlayerInstance player = effected.getActingPlayer();
|
final PlayerInstance player = effected.getActingPlayer();
|
||||||
// TODO: FIX ME - Executing 1 second later otherwise interupted exception during storeCharBase()
|
// TODO: FIX ME - Executing 100 ms later otherwise interupted exception during storeCharBase()
|
||||||
ThreadPool.schedule(() ->
|
ThreadPool.schedule(() ->
|
||||||
{
|
{
|
||||||
final int activeClass = player.getClassId().getId();
|
final int activeClass = player.getClassId().getId();
|
||||||
@@ -89,7 +89,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
player.sendPacket(new AcquireSkillList(player));
|
player.sendPacket(new AcquireSkillList(player));
|
||||||
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
||||||
player.sendPacket(new ExAcquireAPSkillList(player));
|
player.sendPacket(new ExAcquireAPSkillList(player));
|
||||||
}, 1000);
|
}, 100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -3909,14 +3909,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3939,14 +3939,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3969,14 +3969,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3999,14 +3999,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -4033,20 +4033,21 @@
|
|||||||
<abnormalType>CLASS_CHANGE</abnormalType>
|
<abnormalType>CLASS_CHANGE</abnormalType>
|
||||||
<operateType>A2</operateType>
|
<operateType>A2</operateType>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>1</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<basicProperty>NONE</basicProperty>
|
<basicProperty>NONE</basicProperty>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>0</magicCriticalRate>
|
||||||
<specialLevel>-2</specialLevel>
|
<specialLevel>-2</specialLevel>
|
||||||
<hitCancelTime>0</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<magicLvl>-2</magicLvl>
|
<magicLvl>-2</magicLvl>
|
||||||
<irreplacableBuff>true</irreplacableBuff>
|
<irreplacableBuff>true</irreplacableBuff>
|
||||||
<isDebuff>true</isDebuff>
|
<isDebuff>true</isDebuff>
|
||||||
|
<canBeDispelled>false</canBeDispelled>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
<effects>
|
<effects>
|
||||||
<effect name="BlockSkill">
|
<effect name="BlockSkill">
|
||||||
<magicTypes>1;2;3;4;5</magicTypes>
|
<magicTypes>0;1;2;3;4;5;7;22;</magicTypes>
|
||||||
</effect>
|
</effect>
|
||||||
<effect name="PAtk">
|
<effect name="PAtk">
|
||||||
<amount>-70</amount>
|
<amount>-70</amount>
|
||||||
|
@@ -56,7 +56,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
if (effected.isPlayer())
|
if (effected.isPlayer())
|
||||||
{
|
{
|
||||||
final PlayerInstance player = effected.getActingPlayer();
|
final PlayerInstance player = effected.getActingPlayer();
|
||||||
// TODO: FIX ME - Executing 1 second later otherwise interupted exception during storeCharBase()
|
// TODO: FIX ME - Executing 100 ms later otherwise interupted exception during storeCharBase()
|
||||||
ThreadPool.schedule(() ->
|
ThreadPool.schedule(() ->
|
||||||
{
|
{
|
||||||
final int activeClass = player.getClassId().getId();
|
final int activeClass = player.getClassId().getId();
|
||||||
@@ -86,7 +86,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendPacket(new AcquireSkillList(player));
|
player.sendPacket(new AcquireSkillList(player));
|
||||||
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
||||||
}, 1000);
|
}, 100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -56,7 +56,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
if (effected.isPlayer())
|
if (effected.isPlayer())
|
||||||
{
|
{
|
||||||
final PlayerInstance player = effected.getActingPlayer();
|
final PlayerInstance player = effected.getActingPlayer();
|
||||||
// TODO: FIX ME - Executing 1 second later otherwise interupted exception during storeCharBase()
|
// TODO: FIX ME - Executing 100 ms later otherwise interupted exception during storeCharBase()
|
||||||
ThreadPool.schedule(() ->
|
ThreadPool.schedule(() ->
|
||||||
{
|
{
|
||||||
final int activeClass = player.getClassId().getId();
|
final int activeClass = player.getClassId().getId();
|
||||||
@@ -86,7 +86,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendPacket(new AcquireSkillList(player));
|
player.sendPacket(new AcquireSkillList(player));
|
||||||
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
||||||
}, 1000);
|
}, 100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -56,7 +56,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
if (effected.isPlayer())
|
if (effected.isPlayer())
|
||||||
{
|
{
|
||||||
final PlayerInstance player = effected.getActingPlayer();
|
final PlayerInstance player = effected.getActingPlayer();
|
||||||
// TODO: FIX ME - Executing 1 second later otherwise interupted exception during storeCharBase()
|
// TODO: FIX ME - Executing 100 ms later otherwise interupted exception during storeCharBase()
|
||||||
ThreadPool.schedule(() ->
|
ThreadPool.schedule(() ->
|
||||||
{
|
{
|
||||||
final int activeClass = player.getClassId().getId();
|
final int activeClass = player.getClassId().getId();
|
||||||
@@ -86,7 +86,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendPacket(new AcquireSkillList(player));
|
player.sendPacket(new AcquireSkillList(player));
|
||||||
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
||||||
}, 1000);
|
}, 100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -56,7 +56,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
if (effected.isPlayer())
|
if (effected.isPlayer())
|
||||||
{
|
{
|
||||||
final PlayerInstance player = effected.getActingPlayer();
|
final PlayerInstance player = effected.getActingPlayer();
|
||||||
// TODO: FIX ME - Executing 1 second later otherwise interupted exception during storeCharBase()
|
// TODO: FIX ME - Executing 100 ms later otherwise interupted exception during storeCharBase()
|
||||||
ThreadPool.schedule(() ->
|
ThreadPool.schedule(() ->
|
||||||
{
|
{
|
||||||
final int activeClass = player.getClassId().getId();
|
final int activeClass = player.getClassId().getId();
|
||||||
@@ -86,7 +86,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendPacket(new AcquireSkillList(player));
|
player.sendPacket(new AcquireSkillList(player));
|
||||||
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
||||||
}, 1000);
|
}, 100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -56,7 +56,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
if (effected.isPlayer())
|
if (effected.isPlayer())
|
||||||
{
|
{
|
||||||
final PlayerInstance player = effected.getActingPlayer();
|
final PlayerInstance player = effected.getActingPlayer();
|
||||||
// TODO: FIX ME - Executing 1 second later otherwise interupted exception during storeCharBase()
|
// TODO: FIX ME - Executing 100 ms later otherwise interupted exception during storeCharBase()
|
||||||
ThreadPool.schedule(() ->
|
ThreadPool.schedule(() ->
|
||||||
{
|
{
|
||||||
final int activeClass = player.getClassId().getId();
|
final int activeClass = player.getClassId().getId();
|
||||||
@@ -86,7 +86,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendPacket(new AcquireSkillList(player));
|
player.sendPacket(new AcquireSkillList(player));
|
||||||
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
||||||
}, 1000);
|
}, 100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -56,7 +56,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
if (effected.isPlayer())
|
if (effected.isPlayer())
|
||||||
{
|
{
|
||||||
final PlayerInstance player = effected.getActingPlayer();
|
final PlayerInstance player = effected.getActingPlayer();
|
||||||
// TODO: FIX ME - Executing 1 second later otherwise interupted exception during storeCharBase()
|
// TODO: FIX ME - Executing 100 ms later otherwise interupted exception during storeCharBase()
|
||||||
ThreadPool.schedule(() ->
|
ThreadPool.schedule(() ->
|
||||||
{
|
{
|
||||||
final int activeClass = player.getClassId().getId();
|
final int activeClass = player.getClassId().getId();
|
||||||
@@ -86,7 +86,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendPacket(new AcquireSkillList(player));
|
player.sendPacket(new AcquireSkillList(player));
|
||||||
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
||||||
}, 1000);
|
}, 100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -56,7 +56,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
if (effected.isPlayer())
|
if (effected.isPlayer())
|
||||||
{
|
{
|
||||||
final PlayerInstance player = effected.getActingPlayer();
|
final PlayerInstance player = effected.getActingPlayer();
|
||||||
// TODO: FIX ME - Executing 1 second later otherwise interupted exception during storeCharBase()
|
// TODO: FIX ME - Executing 100 ms later otherwise interupted exception during storeCharBase()
|
||||||
ThreadPool.schedule(() ->
|
ThreadPool.schedule(() ->
|
||||||
{
|
{
|
||||||
final int activeClass = player.getClassId().getId();
|
final int activeClass = player.getClassId().getId();
|
||||||
@@ -86,7 +86,7 @@ public class ClassChange extends AbstractEffect
|
|||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
player.sendPacket(new AcquireSkillList(player));
|
player.sendPacket(new AcquireSkillList(player));
|
||||||
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));
|
||||||
}, 1000);
|
}, 100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -3909,14 +3909,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3939,14 +3939,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3969,14 +3969,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -3999,14 +3999,14 @@
|
|||||||
<!-- Change the class. -->
|
<!-- Change the class. -->
|
||||||
<icon>icon.skill0810</icon>
|
<icon>icon.skill0810</icon>
|
||||||
<operateType>A1</operateType>
|
<operateType>A1</operateType>
|
||||||
<hitTime>5000</hitTime>
|
<hitTime>2500</hitTime>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>2</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<staticReuse>true</staticReuse>
|
<staticReuse>true</staticReuse>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>5</magicCriticalRate>
|
||||||
<specialLevel>-1</specialLevel>
|
<specialLevel>-1</specialLevel>
|
||||||
<hitCancelTime>5</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<reuseDelayGroup>1566</reuseDelayGroup>
|
<reuseDelayGroup>1566</reuseDelayGroup>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
@@ -4033,20 +4033,21 @@
|
|||||||
<abnormalType>CLASS_CHANGE</abnormalType>
|
<abnormalType>CLASS_CHANGE</abnormalType>
|
||||||
<operateType>A2</operateType>
|
<operateType>A2</operateType>
|
||||||
<reuseDelay>3000</reuseDelay>
|
<reuseDelay>3000</reuseDelay>
|
||||||
<isMagic>1</isMagic>
|
<isMagic>2</isMagic>
|
||||||
<effectPoint>1</effectPoint>
|
<effectPoint>1</effectPoint>
|
||||||
<basicProperty>NONE</basicProperty>
|
<basicProperty>NONE</basicProperty>
|
||||||
<magicCriticalRate>5</magicCriticalRate>
|
<magicCriticalRate>0</magicCriticalRate>
|
||||||
<specialLevel>-2</specialLevel>
|
<specialLevel>-2</specialLevel>
|
||||||
<hitCancelTime>0</hitCancelTime>
|
<hitCancelTime>0</hitCancelTime>
|
||||||
<magicLvl>-2</magicLvl>
|
<magicLvl>-2</magicLvl>
|
||||||
<irreplacableBuff>true</irreplacableBuff>
|
<irreplacableBuff>true</irreplacableBuff>
|
||||||
<isDebuff>true</isDebuff>
|
<isDebuff>true</isDebuff>
|
||||||
|
<canBeDispelled>false</canBeDispelled>
|
||||||
<targetType>SELF</targetType>
|
<targetType>SELF</targetType>
|
||||||
<affectScope>SINGLE</affectScope>
|
<affectScope>SINGLE</affectScope>
|
||||||
<effects>
|
<effects>
|
||||||
<effect name="BlockSkill">
|
<effect name="BlockSkill">
|
||||||
<magicTypes>1;2;3;4;5</magicTypes>
|
<magicTypes>0;1;2;3;4;5;7;22;</magicTypes>
|
||||||
</effect>
|
</effect>
|
||||||
<effect name="PAtk">
|
<effect name="PAtk">
|
||||||
<amount>-70</amount>
|
<amount>-70</amount>
|
||||||
|
Reference in New Issue
Block a user