사이트 로그인
2019.05.28 21:31
L1PcInventory.java
public class L1PcInventory extends L1Inventory {
...
아래 추가
// 아이템 번호로 착용중인지 확인하는 메소드
public L1ItemInstance getItemEquipped(int itemId) {
L1ItemInstance equipeitem = null;
L1ItemInstance item = null;
for (Object itemObject : _items) {
item = (L1ItemInstance) itemObject;
if (item.getItem().getItemId() == itemId && item.isEquipped()) {
equipeitem = item;
break;
}
}
return equipeitem;
}
L1PcInstance.java
public void receiveDamage(L1Character attacker, double damage, boolean isMagicDamage) {
...
if (damage > 0) {
검색 후 아래 추가
// 반역자의 방패
// 효과 : 타격을 입을 경우 인챈 x 2의 확률로 데미지 리덕션 50의 효과를 부여한다.
// 파워북 참조, 마법 및 화살도 반응한다기에 총체적인 데미지를 입을 경우 처리를 한다.
L1ItemInstance item = getInventory().getItemEquipped(427208); // 반역자의 방패를 착용중이라면 아이템을 return한다.
if(item != null){ // return 된 아이템이 있다면
int enchantLevel = item.getEnchantLevel();
if(enchantLevel > 0){ //
if(new Random().nextInt(100) < enchantLevel * 2){ // 인챈당 2%의 확률
// 데미지 리덕션 적용
damage -= 50.0D; // 50을 깍고
damage = damage < 0 ? 0 : damage; // 0보다 작다면 0으로 만든다.
// 이펙트 전송
sendPackets(new S_SkillSound(getId(), 6320));
Broadcaster.broadcastPacket(this, new S_SkillSound(getId(), 6320));
}
}
}
armor.sql
427208 반역자의 방패 반역자의 방패 shield -1 iron 110000 2041 6098 0 3 6 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 10 0
게임정보 커뮤니티 팝존 http://popzone.pe.kr/
감사합니다