정확한 마방값을 불러오자
마방을 실제로 사용하기위해선
위즈 레벨 아이템 기본
4가지를 다 잡아줘야한다
게임안에서 표기되는 마방의 수치는 정확하지 않다
그냥 그림일뿐이고 아이템값만 변화하게 설정되있을것이다
지금 올리는것은 클라이언트에서 표시되는 값을 수치로 나타내어
정확한 마법방어력을 구현하엿다
실제로 사용하려면 get_총마방() 만불러오면 되게끔 설정하엿다
마법데미지부분에서 마방값을 불러올때
총마방값만 불러오면 정확한 수치가 나오게 될것이다
l1피시인스턴스
//마방 시작 보기쉽게 만들어보자
private int 총마방; // Mr 의 총 합계
private int _위즈마방; // 위즈마법방어력
private int _baseMr; // 기본마방값
private int _아이템마방; // 아이템마법방어력
private int _레벨마방; // 레벨마법방어력
public int get_총마방() {
return 총마방 = _위즈마방 + _baseMr + _아이템마방 + _레벨마방;
}
public int get_위즈마방() {
return _위즈마방;
}public void set_위즈마방(int 위즈마방) {
int 위즈 = this.get_wis(); //케릭터 위즈
switch(위즈){
case 50 :
_위즈마방 = 50;
break;
case 49 : case 48: case 47: case 46:case 45:
_위즈마방 = 50;
break;
case 44 : case 43: case 42: case 41:case 40:
_위즈마방 = 50;
break;
case 39 : case 38: case 37: case 36:case 35:
_위즈마방 = 50;
break;
case 34 : case 33: case 32: case 31:case 30:
_위즈마방 = 50;
break;
case 29:
case 28:
case 27:
case 26:
case 25:
case 24:
_위즈마방 = 50;
break;
case 23:
_위즈마방 = 47;
break;
case 22:
_위즈마방 = 37;
break;
case 21:
_위즈마방 = 28;
break;
case 20:
_위즈마방 = 21;
break;
case 19:
_위즈마방 = 15;
break;
case 18:
_위즈마방 = 10;
break;
case 17:
_위즈마방 = 6;
break;
case 16:
_위즈마방 = 3;
break;
case 15:
case 14:
case 13:
case 12:
_위즈마방 = 0;
break;
default:
if(위즈 > 50){
_위즈마방 = 50;
}else{
_위즈마방 = 0;
}
break;
}
this._위즈마방 = 위즈마방;
}
public int get_baseMr() {
return _baseMr;
}public void set_baseMr(int mr) {
this._baseMr = mr;
}
public int get_아이템마방() {
return _아이템마방;
}public void set_아이템마방(int 아이템마방) {
this._아이템마방 = 아이템마방;
}
public int get_레벨마방() {
return _레벨마방;
}public void set_레벨마방(int 레벨마방) {
int 레벨 = this.get_level();
if(레벨 > 0){
_레벨마방 = 레벨 / 2 ;
}
this._레벨마방 = 레벨마방;
}
//끝
item핸들러
방어구 착용부분
if(item.getItem().get_mr() > 0){
cha.set_Mr(cha.get_Mr() + item.getItem().get_mr() + (item.getEnchantLevel() * item.getItem().get_enchantmr()) );
cha.set_아이템마방(cha.get_아이템마방() + item.getItem().get_mr() + (item.getEnchantLevel() * item.getItem().get_enchantmr()) );
}
방어구 해제부분
if(item.getItem().get_mr() > 0){
cha.set_Mr(cha.get_Mr() - item.getItem().get_mr() - (item.getEnchantLevel() * item.getItem().get_enchantmr()) );
cha.set_아이템마방(cha.get_아이템마방() - item.getItem().get_mr() - (item.getEnchantLevel() * item.getItem().get_enchantmr()) );
}
아이템부분은 나랑 틀릴수도있으니 알아서 수정하기바란다.
클라이언트 스레드부분
public L1PcInstance readchar(String name, int Access_Level)
케릭터 로딩부분이다
알아서 추가하도록..
// 마방시작..
int Mr = 0;
if(cha.get_type() = 0){
Mr = 10;
}else if(cha.get_type() = 1){
Mr = 0;
}else if(cha.get_type() = 2){
Mr = 25;
}else if(cha.get_type() = 3){
Mr = 15;
}else if(cha.get_type() = 4){
Mr = 10;
}
cha.set_baseMr(Mr);
//끝

김닉넴 님의 최근 댓글
클라는 있나요? 2023 04.29 클라 있나요? 2023 03.23 감사합니다 2016 06.06 ㄳ합니다 2016 06.05 ㄳ합니다 2016 06.05