c언어 기준으로 작성했으니 천무님이 알아서 컨버팅해주시길
atk=공격자의 공격력; // atk=남은 데미지
def=방어자의 방어력; // def=남은 데미지 흡수도
while ( atk/3 < def ) // 현재 남은 데미지 흡수도가 남은 데미지의 33% 이상을 깔 수 있는 힘을 지님
{
// 남은 데미지와 데미지 흡수도를 공격력의 33%만큼 깜
def = def - atk/3;
atk = atk - atk/3;
// 이후에 흡수할 수 있는 양을 반으로 까버림
def = def/2;
if ( atk<=3 ) // atk가 3이하이면
{
atk=3; // 3로 보정
def=0; // 더이상 깔 공격따위 없다
}
// 하필 3이하로 한건 혹시 모를 계산 오류를 차단하기 위한것
}
atk = atk - def;
이후 적에게 입힐 피해 = atk로 계산하시면 됩니다.
ps:저 계급 낮춰주세요
제 추측이지만 계급은 인지도와 관련있는것 같습니다.