파란물약을 작동하기 위해서 다음과 같이 2개의 파일과 sql 을 수정합니다.
파란물약의 공식이 캐릭터의 wis 수치 - 10 이라고해서 그대로 작업 한 것 입니다.
파란물약 복용시 메세지와 아이콘 그리고 효과가 적용됩니다.
psjump.server.model.L1Character.java
private boolean Buff_파란물약;
private boolean Buff_Temp파란물약;
public boolean get_파란물약() {
return Buff_파란물약;
}public void set_파란물약(boolean 파란물약) {
this.Buff_파란물약 = 파란물약;
}public boolean get_Temp파란물약() {
return Buff_Temp파란물약;
}public void set_Temp파란물약(boolean Temp파란물약) {
this.Buff_Temp파란물약 = Temp파란물약;
}
psjump.server.items.ItemUse.java
case 36: // 파란물약
int addtic = cha.get_wis() - 10;
if(!cha.get_파란물약()){
cha.set_파란물약(true);
manapotion mp = new manapotion(cha, temp.getItem().get_conrinuous());
mp.start();
if(cha.get_wis() < 12){
cha.set_TicMp(cha.get_TicMp() + 1);
}else{
cha.set_TicMp(cha.get_TicMp() + addtic);
}
}else{
cha.set_Temp파란물약(true);
}
cha.get_cil().CountItem(cha, temp, -1);
cha.sendPackets(cha.get_netConnection().bph().get_Message().S_ServerMessage(1007, ""), false);
cha.sendPackets(cha.get_netConnection().bph().get_CharAction().S_Effect(cha, temp.getItem().get_EffectID()), false, true);
break;
class manapotion extends Thread{
private L1PcInstance cha;
private int temp_time;
private int time;
public manapotion(L1PcInstance cha, int time){
this.cha = cha;
this.time = time;
this.temp_time = time;
}
public void run(){
int addtic = cha.get_wis() - 10;
try{
do{
sleep(1000); // 1초
--temp_time;
if(cha.get_Temp파란물약()){
cha.set_Temp파란물약(false);
temp_time = time;
}
if(temp_time <= 0){
cha.set_파란물약(false);
}
}while(cha.get_파란물약());
if(cha.get_wis() < 12){
cha.set_TicMp(cha.get_TicMp() - 1);
}else{
cha.set_TicMp(cha.get_TicMp() - addtic);
}
}catch (Exception e){}
}
}
sql 의 items_etc 21번 마력회복물약의 effect_id 필드값을 190 으로 수정합니다.
L1Character.java 의 코드는 적당한 위치에 넣어주시면 됩니다.
ItemUse.java 의 case 36 코드는 차후 편집등을 고려하여 순서대로 배치하시면 됩니다.
ItemUse.java 의 class manapotion 부분은 아래쪽으로 내려보시면 class 로 정의되어 있는 부분들이 있습니다.
차후 편집등을 고려해서 거기에 추가해주시면 좋겠네요.
그리고 sql 의 마력회복물약의 이펙트값을 190 으로 수정해주시면 적용 완료됩니다.
공식상으로 보자면.. 캐릭터의 위즈수치 - 10 이라는 공식으로 만들어져 있습니다.
[추가] 화려한미소님의 제보로 wis 수치가 11 이하인 캐릭터는 mp 회복틱 +1 이 되도록 수정 되었습니다