형님들 용인형이 성공이 안되는데..어디가 문제죠...5단계인형도 안사라짐;;
} else if (action.equalsIgnoreCase("용인형 특수 합성")) {
int level = 3;
for (MagicDoll magicdoll : list) {
for (int i = 0; i < Lineage.magicDoll[level].length; i++) {
if (magicdoll.getItem().getName().equalsIgnoreCase(Lineage.magicDoll[level][i]))
magicDollList.add(magicdoll);
}
}
for (MagicDoll specialMagicdoll : list) {
for (int i = 0; i < Lineage.magicDoll[level + 1].length; i++) {
if (specialMagicdoll.getItem().getName().equalsIgnoreCase(Lineage.magicDoll[level + 1][i]))
magicDollSpecialList.add(specialMagicdoll);
}
}
for (MagicDoll specialMagicdoll : list) {
for (int i = 0; i < Lineage.magicDoll[level + 2].length; i++) {
if (specialMagicdoll.getItem().getName().equalsIgnoreCase(Lineage.magicDoll[level + 2][i]))
magicDollSpecialList.add(specialMagicdoll);
}
}
if (magicDollList.size() >= count && magicDollSpecialList.size() >= specialCount) {
double probability = Math.random();
// 일정 확률로 4대용 인형 성공.
// 실패시 5단계 인형 지급.
if (probability < Lineage_Balance.magicDoll_class_5_probability) {
itemName = Lineage.magicDoll[level + 2][Util.random(0, Lineage.magicDoll[level + 2].length - 1)];
ChattingController.toChatting(pc, "특수 합성 성공!", Lineage.CHATTING_MODE_MESSAGE);
} else {
itemName = Lineage.magicDoll[level + 1][Util.random(0, Lineage.magicDoll[level + 1].length - 1)];
}
} else {
if (magicDollList.size() < count && magicDollSpecialList.size() >= specialCount)
ChattingController.toChatting(pc, String.format("4단계 인형 %d개 부족합니다.", count - magicDollList.size()), Lineage.CHATTING_MODE_MESSAGE);
else if (magicDollList.size() >= count && magicDollSpecialList.size() < specialCount)
ChattingController.toChatting(pc, String.format("5단계 인형이 %d개 부족합니다.", specialCount - magicDollSpecialList.size()), Lineage.CHATTING_MODE_MESSAGE);
else
ChattingController.toChatting(pc, String.format("5단계 인형 %d개, 4단계 인형 %d개 부족합니다.", specialCount - magicDollSpecialList.size(), count - magicDollList.size()), Lineage.CHATTING_MODE_MESSAGE);
return;
}
}
if (itemName != null) {
Item item = ItemDatabase.find(itemName);
if (item != null) {
ItemInstance temp = ItemDatabase.newInstance(item);
temp.setObjectId(ServerDatabase.nextItemObjId());
temp.setBless(1);
temp.setEnLevel(0);
temp.setDefinite(true);
pc.getInventory().append(temp, true);
if (action.equalsIgnoreCase("특수 합성")) {
for (int i = 0; i < count; i++)
pc.getInventory().count(magicDollList.get(i), magicDollList.get(i).getCount() - 1, true);
for (int i = 0; i < specialCount; i++)
pc.getInventory().count(magicDollSpecialList.get(i), magicDollSpecialList.get(i).getCount() - 1, true);
} else {
for (int i = 0; i < count; i++)
pc.getInventory().count(magicDollList.get(i), magicDollList.get(i).getCount() - 1, true);
}