쥬니a님 요청자료
갑옷에 인챈트마다 옵션을 추가하고 싶다고 하셔서 간단하게나마 올려드립니다...
제가 하는 방식이 상당히 비효율적이기는 하지만 이해하는데에는 편하실 것 같아 일부러 이렇게 소스를 작성해봅니다...
일단 아이템 표기 부분입니다... os.writeC() 안의 숫자는 찾으시면 쉽게 찾으실 수 있을거에요...
L1ItemInstance.java
if (getItem().get_addcha() != 0) {
os.writeC(13);
os.writeC(getItem().get_addcha());
} // 검색 후 아래 추가
/** 쥬니a 요청자료 **/
if (itemId == 20001) {
switch (getEnchantLevel()) {
case 5:
os.writeC(8);
os.writeC(1); // 힘 1 추가
os.writeC(17);
os.writeC(1); // sp 1 추가
os.writeC(47);
os.writeC(1); // 추타 1 추가
break;
case 6:
os.writeC(8);
os.writeC(2); // 힘 2 추가
os.writeC(17);
os.writeC(2); // sp 2 추가
os.writeC(47);
os.writeC(2); // 추타 2 추가
break;
case 7:
os.writeC(8);
os.writeC(3); // 힘 3 추가
os.writeC(17);
os.writeC(3); // sp 3 추가
os.writeC(47);
os.writeC(3); // 추타 3 추가
break;
case 8:
os.writeC(8);
os.writeC(4); // 힘 4 추가
os.writeC(17);
os.writeC(4); // sp 4 추가
os.writeC(47);
os.writeC(4); // 추타 4 추가
break;
case 9:
os.writeC(8);
os.writeC(5); // 힘 5 추가
os.writeC(17);
os.writeC(5); // sp 5 추가
os.writeC(47);
os.writeC(5); // 추타 5 추가
break;
}
}
그 다음 실제 옵션 적용 부분입니다...
L1EquipmentSlot.java
for (L1ArmorSet armorSet : L1ArmorSet.getAllSet()) {
if ((armorSet.isPartOfSet(itemId))
&& (armorSet.isValid(this._owner))) {
if ((armor.getItem().getType2() == 2)
&& (armor.getItem().getType() == 9)) {
if (!armorSet.isEquippedRingOfArmorSet(this._owner)) {
armorSet.giveEffect(this._owner);
this._currentArmorSet.add(armorSet);
}
} else {
armorSet.giveEffect(this._owner);
this._currentArmorSet.add(armorSet);
}
}
} // 검색 후 아래 추가
/** 쥬니a 요청자료 **/
if (itemId == 20001) {
switch (armor.getEnchantLevel()) {
case 5:
this._owner.getAbility().addAddedStr(1); // 힘 1 추가
this._owner.getAbility().addSp(1); // sp 1 추가
this._owner.addDmgup(1); // 추타 1 추가
break;
case 6:
this._owner.getAbility().addAddedStr(2); // 힘 2 추가
this._owner.getAbility().addSp(2); // sp 2 추가
this._owner.addDmgup(2); // 추타 2 추가
break;
case 7:
this._owner.getAbility().addAddedStr(3); // 힘 3 추가
this._owner.getAbility().addSp(3); // sp 3 추가
this._owner.addDmgup(3); // 추타 3 추가
break;
case 8:
this._owner.getAbility().addAddedStr(4); // 힘 4 추가
this._owner.getAbility().addSp(4); // sp 4 추가
this._owner.addDmgup(4); // 추타 4 추가
break;
case 9:
this._owner.getAbility().addAddedStr(5); // 힘 5 추가
this._owner.getAbility().addSp(5); // sp 5 추가
this._owner.addDmgup(5); // 추타 5 추가
break;
}
}
for (L1ArmorSet armorSet : L1ArmorSet.getAllSet()) {
if ((!armorSet.isPartOfSet(itemId))
|| (!this._currentArmorSet.contains(armorSet))
|| (armorSet.isValid(this._owner)))
continue;
armorSet.cancelEffect(this._owner);
this._currentArmorSet.remove(armorSet);
} // 검색 후 아래 추가
/** 쥬니a 요청자료 **/
if (itemId == 20001) {
switch (armor.getEnchantLevel()) {
case 5:
this._owner.getAbility().addAddedStr(-1); // 힘 1 추가
this._owner.getAbility().addSp(-1); // sp 1 추가
this._owner.addDmgup(-1); // 추타 1 추가
break;
case 6:
this._owner.getAbility().addAddedStr(-2); // 힘 2 추가
this._owner.getAbility().addSp(-2); // sp 2 추가
this._owner.addDmgup(-2); // 추타 2 추가
break;
case 7:
this._owner.getAbility().addAddedStr(-3); // 힘 3 추가
this._owner.getAbility().addSp(-3); // sp 3 추가
this._owner.addDmgup(-3); // 추타 3 추가
break;
case 8:
this._owner.getAbility().addAddedStr(-4); // 힘 4 추가
this._owner.getAbility().addSp(-4); // sp 4 추가
this._owner.addDmgup(-4); // 추타 4 추가
break;
case 9:
this._owner.getAbility().addAddedStr(-5); // 힘 5 추가
this._owner.getAbility().addSp(-5); // sp 5 추가
this._owner.addDmgup(-5); // 추타 5 추가
break;
}
}
대충 필요하실 것 같은 부분은 그냥 다 적용해봤어요... 뭐... 세세한 수정은 알아서 하시면 되겠죠...?
[출처] 쥬니a님 요청자료 (비공개 카페)

준희미니 님의 최근 댓글
rt 2021 05.25 ㄳ 2021 05.11 ㄳ 2021 05.11 rt 2021 05.09 rt 2021 04.25