2003특수기능 질문.

by 『덩키동크』 posted Nov 04, 2007
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
특수 기능 데미지처리의 정의부터 적겠습니다. 도움말 참조입니다.

 


 


●특수기능의 효과량


 


효과량=기본효과량+(A의 공격력 ×타격관계도÷20)+(A의 정신력 ×정신관계도÷40)


 


·수치분산도 1당 ±5%의 범위 (최대+50∼-50%)로 변동합니다.


·공격의 특수기능에서[방어무시] 설정이 무효인 경우는, 효과량에서 아래의 수치를 뺍니다.
 (B의 방어력 ×타격관계도÷40)+(B의 정신력 ×정신관계도÷80)


 


·B가 방어하고 있는 경우는 절반, 강력방어의 경우는  1/4로 효과량이 감소합니다.


·전투불능 상태만을 회복시키는(HP를 회복하지 않음 )특수기능의 경우, 효과량의 수치를 그대로 HP의 회복률(%)로서 취급합니다. (수치가 100이상의 경우는 모두 회복).


 


 


즉 말하자면 원래 특수기능이 공격력을 일정하게 더합니다.


 


기본효과량 + A의 공격력 x 타격관계도/20 이며 타격관계도는 최소 0, 최대 10까지 가능하지요.


 


조금 계산해보면 타격관계도가 1 늘어날때마다 추가 공격력이 5%씩 증가합니다.


 


 


그 %로 더한다는게 상당히 제한적이라는거죠.


 


즉 기본 전투공식만으로는 공격력x% 가 되지 않으며 공격력x n%(n%≤50%)+기본 효과량


 


이 공식만 가능합니다.


 


 


 


엔터브레인 내에서 샘플로 제공되는 데이터에도 이 한계를 극복하지 못했죠. (예 : 스프라이트 1, 스프라이트 2, 스프라이트 3 등등 같은 스킬을 데미지만 올림)


 


 


 


 


그렇다면 어떻게 해야 하느냐? 이것은 변수로만 해결이 가능합니다.


 


그러나 이것도 지금 살펴보니 상당히 제한적이군요.


 


특수기능 효과를 스위치로 옮긴후


 


적 그룹의 이벤트란에서 스위치가 켜져있을 조건 발동, 변수 조작으로 아군의 데미지에 일정 확률로 곱셈을 해줍니다.


 


예를들어 140%의 데미지를 준다면,


 


아군의 공격력 x 140 / 100


 


이렇게 해주면 됩니다.


 


 


그리고 이 변수만큼 적에게서 데미지를 주면 됩니다.


 


 


근데 이 데미지를 준다는게 상당히 애매한데요.


 


원래 보통 변수에는 주체에도 ... 번호의 변수 라는 것이 있습니다만, 여기에는 없군요.


 


그렇기 때문에 누구를 지목해서 공격할 수가 없습니다.


 


그러니까.. 누구를 공격하느냐는 랜덤으로 발생시킬 수 밖에 없다는 것이죠.


 


 


그러니까 조건분기 : ~~ 가 살아있는 경우


 


로 해놓고 데미지처리와 전투애니메이션을 처리해두고


 


 


그 이외의 경우 : ~~~가 살아있는 경우


 


이런식으로 반복해서


 


살아있는 가장 첫번째 타겟에게 자동으로 데미지를 주는 방법밖에는 없습니다.


 


 


 


뭐..굳이 한다면 이렇게 되겠구요 (..쓰고보니 굉장히 어설프네요..). 다른 방법은 저는 잘 모르겠네요;;


 


 


 


 


제 생각으로는 차라리 스킬을 업데이트 하는 형식이 나을 것 같네요.


 


일정 레벨에서 자동으로 스킬을 업그레이드 시켜준다거나, 어느정도 스킬을 사용하면 경험치가 증가해서 자동으로 스킬이 올라간다던가(스킬 생성과 스킬 삭제를 반복) 하는 시스템을 넣는쪽이 만들기도 편하고 더 재밌을것 같습니다.


 


 


Articles