L1Magic.java
// 아스바인드중은 WB, 왈가닥 세레이션 이외 무효
if (_calcType == PC_PC || _calcType == NPC_PC) {
if (_targetPc.getSkillEffectTimerSet().hasSkillEffect(EARTH_BIND)) {
_skill = SkillsTable.getInstance().getTemplate(skillId);
if (skillId != WEAPON_BREAK && skillId != CANCELLATION
&& skillId != DARKNESS && skillId != MASS_SLOW
&& skillId != POLLUTE_WATER && skillId != STRIKER_GALE // 확률계
&& skillId != HEAL && skillId != EXTRA_HEAL // 힐류
&& skillId != GREATER_HEAL && skillId != FULL_HEAL // 힐류
&& skillId != DARKLORD_DEATH_POTION && skillId != DRAKLORD_DEATH_HEAL // 데스힐,포션 이건 알아서
// && _skill.getType() != L1Skills.TYPE_HEAL // 힐 계 ------- 제외 이유 : 힐올,블레싱 제외하기위해
&& _skill.getType() != L1Skills.TYPE_CHANGE) { // 버프계
return false;
}
}
.
.
.
.
private void commitPc(int damage, int drainMana) {
if (_calcType == PC_PC) {
if (_targetPc.getSkillEffectTimerSet().hasSkillEffect(ABSOLUTE_BARRIER)
|| _targetPc.getSkillEffectTimerSet().hasSkillEffect(ICE_LANCE)
|| _targetPc.getSkillEffectTimerSet().hasSkillEffect(AVATA)
|| _targetPc.getSkillEffectTimerSet().hasSkillEffect(FREEZING_BLIZZARD)
// || _targetPc.getSkillEffectTimerSet().hasSkillEffect(EARTH_BIND)
|| _targetPc.getSkillEffectTimerSet().hasSkillEffect(MOB_BASILL)
|| _targetPc.getSkillEffectTimerSet().hasSkillEffect(MOB_COCA)) {
damage = 0;
drainMana = 0;
}
if (_targetPc.getSkillEffectTimerSet().hasSkillEffect(EARTH_BIND)){
if(_skill != null){
if (_skill.getType() != L1Skills.TYPE_HEAL){// 힐 계
damage = 0;
drainMana = 0;
}
}
}
if (drainMana > 0 && _targetPc.getCurrentMp() > 0) {
if (drainMana > _targetPc.getCurrentMp()) {
drainMana = _targetPc.getCurrentMp();
}
int newMp = _pc.getCurrentMp() + drainMana;
_pc.setCurrentMp(newMp);
}
_targetPc.receiveManaDamage(_pc, drainMana);
_targetPc.receiveDamage(_pc, damage, true);
} else if (_calcType == NPC_PC) {
_targetPc.receiveDamage(_npc, damage, true);
}
}
L1SkillUse.java
if (cha.getSkillEffectTimerSet().hasSkillEffect(EARTH_BIND)) {
if (_skillId != WEAPON_BREAK && _skillId != CANCELLATION // 확률계
&& _skillId != POLLUTE_WATER && _skillId != STRIKER_GALE // 확률계
&& _skillId != HEAL && _skillId != EXTRA_HEAL // 힐류
&& _skillId != GREATER_HEAL && _skillId != FULL_HEAL // 힐류
&& _skillId != DARKLORD_DEATH_POTION && _skillId != DRAKLORD_DEATH_HEAL // 데스힐,포션 이건 알아서
// && _skill.getType() != L1Skills.TYPE_HEAL // 힐 계 ------- 제외 이유: 힐올,블레싱 제외하기위해
&& _skill.getType() != L1Skills.TYPE_CHANGE ) { // 버프 계
return false;
}
}