전투시스템

목적
다양한 무기와 그 무기들 각각의 특성을 구현하고 속성 체계를 통해 다양한 설정의 캐릭터들을 포용할 수 있고 상성관계가 존재하는 전투시스템을 만들고자 한다.

개요
전투시스템에서 가장 중요한 피해(Damage)는 원천(source)와 속성(element), 피해 형태로 구분된다. 이 3 분류의 조합에 의해 입힐 수 있는 피해의 종류를 만들어 낼 수 있다. 기본적으로 설정되어있는 것들을 조합하면 3 X 4 X 3 + (3X3) 으로 총 45가지 종류의 피해가 발생할 수 있다. 여기에 속성이 늘어나고, 원천의 종류가 다양해지면 그 조합의 수는 무궁무진하게 늘어날 수 있다.

원천
원천은 피해를 발생시키는 원천이 어디서부터 발생한 것인지를 나타낸다. 원천의 종류는 세 가지로 구분하는데 다음과 같다. 물리적 에너지는 간단히 육체의 힘이나 기계의 힘과 같은 것을 생각하면 된다. 마력은 말 그대로 마력을 원천으로하여 발생하는 피해로 마법으로 인한 피해가 대부분 여기에 해당한다. 초차원간섭은 물리적 에너지도, 마력도 아닌 차원간섭에 의해 발생하는 피해를 말한다.
 * 1) 물리적 에너지
 * 마력
 * 1) 초차원간섭

안티매직 에서 설명한 내용이 이 원천에 해당하는 내용인데, 마력을 원천으로 만들어진 화염은 안티매직에 의해 소멸되지만 마력을 이용해 집어던진 창은 '집어던지는 행동'은 마력에 의한 것이지만 '집어던져진 창'은 마력에 의해 변환된 물리적 에너지에 의해 던져진 것이다. 따라서 이 때 창에 의해 발생하는 피해의 원천은 물리적 에너지가 되므로 안티매직에 의해 소멸되지 않는다.

물리적으로 공격당하지 않는 적(예: 유령)이나 마법을 흡수하는 적, 안티매직(Anti-magic) 등을 표현하기 위해 들어간 속성이라고 생각하면 된다.

속성
물리, 화염, 냉기, 전기의 물리적인 속성부터 빛, 어둠, 정신 등 관념적인 속성 등 상상 할 수 있는 모든 속성들이 포함될 수 있다. 속성은 기본적으로 상성관계를 표현하기 위해 사용된다. 가장 기본적으로 사용되는 속성은 물리, 화염, 냉기, 전기이며 그 외의 속성들은 추가되는 설정에 따라서 추가하도록 한다.

피해 형태
생명체에게 가해질 수 있는 피해라는 것은 대부분 물리적인 형태를 띈다. 이 물리적인 형태는 크게 세 가지로 구분하는데 다음과 같다. 여기에 물리적 특성이 아닌 순수한 속성에 의한 피해를 뜻하는 본질 피해(Essence)까지 네 가지 종류가 존재한다. 본질 피해는 물리를 제외한 다른 속성에만 적용 될 수 있다.
 * 때리기 피해(Crushing): 면(面) 형태로 발생하는 피해를 말한다.
 * 베기 피해(Slashing): 선(線) 형태로 발생하는 피해를 말한다.
 * 찌르기 피해(Piercing): 점(点) 형태로 발생하는 피해를 말한다.

피해 흡수
일정 이하의 피해는 완전히 흡수해버리는 것. 하지만 그 일정 수치 이상의 피해에 대해서는 모든 피해가 들어간다. 20의 피해를 흡수 할 수 있을 경우, 1~20까지의 피해는 0의 피해를 주지만 21 이상의 피해는 21 이상의 피해가 그대로 적용된다.

피해 계산 공식
(작성중) 피해 흡수는 아직 적용 안됨
 * 1) DamageBySource = 피해량 * (100% - 원천저항력)
 * 2) IF DamageBySource <= 0 THEN END
 * 3) DamageByElement = DamageBySource * (100% - 속성저항력)
 * 4) IF DamageByElement <= 0 THEN END
 * 5) DamageByType = Max(DamageByElement, 0) * (100% - 피해형태저항력)
 * 6) IF 속성 == 물리 THEN TotalDamage = DamageByType ELSE TotalDamage = DamageByElement + DamageByType

피해에 대한 예시
속성과 피해 형태의 결합에 대한 몇가지 예시를 들어 설명한다.

경우 1A. 화염 마법이 인챈트된 검
 * 검의 물리 베기 피해 10(물리)을 입힌다.
 * 화염 마법의 인챈트에 의해 화염 본질 피해 10(마력)을 추가로 입힌다.
 * 총 2개의 피해를 입힌다.
 * 화염에 면역인 대상에게는 물리 피해만 입힌다.

경우 1B. 화염 칼날 마법
 * 화염의 칼날을 만들어 적을 공격하는 마법.
 * 화염 베기 피해 10을 입힌다.
 * 총 1개의 피해를 입힌다.
 * 화염에 면역인 대상에게는 아무 피해도 입히지 못한다.
 * 화염에 면역이 아닌 대상에게 들어가는 최종 피해는 속성 피해+형태피해가 된다.