Lineage Justice
Spells & Skills
Lookup and validate skills and spells.
|
MassSlow
|
MP:
|
20
|
HP:
|
0
|
Item:
|
40318
|
Amount:
|
2
|
Duration:
|
64
|
Skill Type:
|
Probability
|
Delay:
|
3000
|
Cast Invis:
|
No
|
Ignores CM:
|
No
|
Element:
|
Earth
|
Range:
|
20
|
Area:
|
3
|
Dmg Value:
|
0.0
|
Dmg Dice:
|
0
|
Dice Count:
|
0
|
Prob Value:
|
0
|
Prob Dice:
|
9
|
Prob Max:
|
99
|
L1SkillUse Execution:
if (_skillId == SLOW || _skillId == MASS_SLOW
|| _skillId == ENTANGLE) {
if (cha instanceof L1PcInstance) {
L1PcInstance pc = (L1PcInstance) cha;
if (pc.getHasteItemEquipped() > 0) {
continue;
}
}
if (cha.getMoveSpeed() == 0) {
_skill.newBuffSkillExecutor().addEffect(_user, cha, buffIconDuration);
} else if (cha.getMoveSpeed() == 1) {
int skillNum = 0;
if (cha.hasSkillEffect(HASTE)) {
skillNum = HASTE;
} else if (cha.hasSkillEffect(GREATER_HASTE)) {
skillNum = GREATER_HASTE;
} else if (cha.hasSkillEffect(STATUS_HASTE)) {
skillNum = STATUS_HASTE;
}
if (skillNum != 0) {
cha.removeSkillEffect(skillNum);
cha.removeSkillEffect(_skillId);
cha.setMoveSpeed(0);
continue;
}
}
}
Add Effect:
@Override
public void addEffect(L1Character user, L1Character target,
int durationSeconds) {
if (target instanceof L1PcInstance) {
L1PcInstance pc = (L1PcInstance) target;
pc.sendPackets(new S_SkillHaste(pc.getId(), 2,
durationSeconds));
}
target.broadcastPacket(new S_SkillHaste(target.getId(), 2,
durationSeconds));
target.setMoveSpeed(2);
}
Remove Effect:
@Override
public void removeEffect(L1Character target) {
if (target instanceof L1PcInstance) {
L1PcInstance pc = (L1PcInstance) target;
pc.sendPackets(new S_SkillHaste(pc.getId(), 0, 0));
pc.broadcastPacket(new S_SkillHaste(pc.getId(), 0, 0));
}
target.setMoveSpeed(0);
}