사이트 로그인
2018.11.02 10:55
프리서버 오픈소스 리니지 확률 마법(간단히)
에바팩소스 가끔 보니 L1Magic.java 에 이런 문구들이
많이 보이던데요..
if (attackLevel < defenseLevel) {
if(attackLevel - defenseLevel <= -11){
probability = (int) (l1skills.getProbabilityValue() + ((attackLevel - defenseLevel)* 4.8));
}
}
if (attackLevel < defenseLevel) {
if(attackLevel - defenseLevel <= -6 && attackLevel - defenseLevel >=-10){
probability = (int) (l1skills.getProbabilityValue() + ((attackLevel - defenseLevel)* 4.8));
}
}
if (attackLevel < defenseLevel) {
if (attackLevel - defenseLevel <= -1 && attackLevel - defenseLevel >= -5){
probability = (int) (l1skills.getProbabilityValue() + ((attackLevel - defenseLevel) * 7.2));
}
}
if (attackLevel > defenseLevel) {
if (attackLevel - defenseLevel >= 1 && attackLevel - defenseLevel <= 5){
probability = (int) (l1skills.getProbabilityValue() + ((attackLevel - defenseLevel) * 4.6));
}
}
if (attackLevel > defenseLevel) {
if (attackLevel - defenseLevel >= 6 && attackLevel - defenseLevel <= 10){
probability = (int) (l1skills.getProbabilityValue() + ((attackLevel - defenseLevel) * 3.7));
}
}
if (attackLevel > defenseLevel) {
if (attackLevel - defenseLevel >= 11) {
probability = (int) (l1skills.getProbabilityValue() + ((attackLevel - defenseLevel) * 3.7));
}
}
간단하게 변경 해보았습니다.
int level_check = attackLevel - defenseLevel;
if (attackLevel == defenseLevel) { // 레벨이 같다면
probability = l1skills.getProbabilityValue(); // 지정된 확률
}
if (attackLevel > defenseLevel) { // 어택자가 방어자보다 렙이 크다면
if (level_check % 1 == 0) { // 1레벨 마다 체크
probability = l1skills.getProbabilityValue() + (level_check * 임의 적으로 지정 하세요); // 지정된 확률 + 레벨 계산 * 확률 지정
}
}
if (attackLevel < defenseLevel) { // 어택자 보다 방어자 렙이 크다면
if (level_check % 1 == 0) {
probability = l1skills.getProbabilityValue() - (level_check * -임의 적으로 지정 하세요);
// 지정된 확률 + 레벨 계산 * 확률 지정
}
}