기본 데미지 계산:
dmg = (1 + skillLevelEmpower) * attackFactor * (atkStat + atkStat * attackBoostHPRate * (1.0 - fAtkHPRate))
attackFactor = 기본 스킬계수. 내가 전에 올린 계수파일 참고. PVP 계수가 따로 있는 경우엔 PVP 계수를 참고한다.
skillLevelEmpower = 스킬 데미지 증가량 %. 스킬 레벨에 표기된거 참고
atkStat = 공격력 증가 버프나 여러가지 다 적용된 공격력
fAtkHPRate = 현재 공격자 체력
attackBoostRate의 예시는 알렉스 패시브에 붙은, 감소된 체력에 비례하여 공격력 최대 50% 증가.
데미지 조정식 (GetDamageAdjustFactor)
공격자 시점 조정식
AtkAdjustment = (1 - RoleTypeDamageReduceRate)(RoleTypeAdjustment * RoleTypeDamageRate) + RangedAttackBonusDamageRate + UnitTypeBonusDamageRate + UnitSubTypeBonusDamageRate + RoleBonusDamageRate + MoveTypeBonusDamageRate
RoleTypeAdjustment = 상성피해 데미지. 상성에 따라 0.3
RoleTypeDamageReduceRate = 방어자 시점에서 상성 추가 피해 감소율
RoleTypeDamageRate = 공격자 시점에서 상성 추가 피해 증가율
RangedAttackBonusDamageRate = 근거리 피해 증가율 혹은 원거리 피해 증가율
UnitTypeBonusDamageRate = 유닛의 타입에 대한 추가데미지 (예: 오르카의 침식체 추가 데미지%)
UnitSubTypeBonusDamageRate = 유닛의 보조타입에 대한 추가데미지 (예: 각성킹 같은 경우는 메인 타입이 카운터이지만 보조타입이 리플레이서. 이 경우 리플레이서에 대한 추가데미지가 있는지 여부를 확인)
RoleBonusDamageRate = 특정 클래스에 대한 추가데미지 (스트라이커 타입 +% 등)
MoveTypeBonusDamageRate = 공중 혹은 지상 피해 추가데미지
방어자 시점 조정식
DefAdjustment = RoleTypeReduceRate + RangeTypeReduceRate+ UnitTypeDamageReduceRate + UnitSubTypeDamageReduceRate + RoleSpecificReduceRate + MoveTypeReduceRate
RoleTypeReduceRate = 상성 감소 데미지. 상성에 따라 0.3
RangeTypeReduceRate = 근/원거리 피해 감소율
UnitTypeDamageReduceRate = 유닛의 타입에 대한 감소데미지 (예: 이유리의 카운터 피해 감소)
UnitSubTypeDamageReduceRate = 유닛의 보조타입에 대한 감소데미지 (위 참고)
RoleSpecificReduceRate = 특정 클래스에 대한 감소데미지%
MoveTypeReduceRate = 공중 혹은 지상 피해 감소%
최종 조정식
Adjustment = 1.0 + AtkAdjustment - (AtkAdjustment * AddDamageReduceRate) - (DefAdjustment - (DefAdjustment * ReduceDamagePenetrationRate))
AddDamageReduceRate = 추가 피해량 감소율 (이 기믹이 있는 캐릭이 있는지 모르곘음)
ReduceDamagePenetrationRate = 피해량 감소 관통율 (이 기믹이 있는 캐릭은 없음)
기본 방어력 계산
Def = (defStat + defStat * defBoostHPRate * (1.0 - fDefHPRate)) * (1.0 - defPenetration)
defStat = 버프 다 적용된 최종 방어력
defBoostHPRate = HP 감소 비례 방어력 증가%
fDefHPRate = 현재 방어자 체력비율
defPenetration = 공격자 방어 관통률
방어력 적용 공식
DefApplied = 1.0 - Def / (Def + 1000)
데미지 감소 + 무시 공식
DamageReduced = 1.0 - (DamageReduceRate - DamageReduceRate * DemageReducePenetrationRate)
최종 데미지 조정률:
FinalAdjustment = DefApplied * DamageReduced * Adjustment
(다만, 최종 조정률은 0.2 미만이 되지 않음)
최종 데미지 = dmg * FinalAdjustment
이제 최소/최대데미지, 피해제한, 회피율 치명피해 저항 알아보는중