명성 및 데미지 공식 관련 정보
페이지 정보
작성자 comett 댓글 1 Comments 조회 31 Views Date 26-08-22 16:00본문
※ GitHub에 공개된 DarkEden V2 계열 오픈소스 서버 코드(OpenDE) 기준으로 작성된 게시글입니다.
※ 오픈소스이므로 구클라팩 데이터 중 일부이며, 제네시스 서버와 공식이 다를 수 있습니다.
※ 코어잽, 성서로 인한 마법공격력 옵션 0 기준으로 작성되었습니다. (데미지 최종 계산 후 실 수치 반영)
1. 명성 획득량 공식
SkillUtil.cpp
Result = max(0, monsterHP - Damage);
monsterHP = Result;
if (Result == 0 && attacker is PC) {
increaseFame(attacker, Damage);
}
= 몬스터를 죽였을 때 최종 막타 데미지 (오버킬이 되더라도 상관없이 막타 데미지에만 적용됩니다)
※ 해당 공식을 통하여 각 스킬로 막타 시 명성 및 데미지 확인
2. 데미지 공식
- 누스
void NooseOfWraith::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = min(30 + (input.INTE / 3), 200); output.Delay = 18; output.Range = 7; }
※ 오픈소스 수치상 데미지 상한이 200 이지만, 제네시스에서 최대 명성 획득치 264 이므로 기존 공식과 상이
※ 마법공격력 옵션 만큼 명성 및 데미지 수치 증가 (ex: 마공 12 = 누스 명성 획득치 276)
- 블러디 월
void BloodyWall::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = input.INTE / 5 + input.STR / 10; output.Duration = (input.DEX / 15 + input.INTE / 10) * 10; output.Delay = max(2, 5 - input.DEX / 50) * 10; output.Tick = 10; }
※ 오픈소스 공식과 동일 INT/5 + STR/10 (힘:136 / 인트:630 / 명성 획득치 139)
※ 블러디 월은 적 저항을 무시합니다.
- 메테오 void MeteorStrike::computeOutput(const SkillInput& input, SkillOutput& output) {
output.Damage =
(int)(input.SkillLevel * 0.8 + (rand() % (int)(input.SkillLevel * 0.4 + 1))) + (input.STR + input.DEX) / 6;
output.Duration = 10; // ¸î ÃÊÈÄ Æø¹ß
output.Delay = 10;
}※메테오 적중 시 거리에 따른 데미지 감소 (EffectMeteorStrike.cpp 참고)
m_SplashRatio[0] = 100; → 메테오 중심 100% 데미지 m_SplashRatio[1] = 85; → 메테오 1칸 거리 85% 데미지
m_SplashRatio[2] = 75; → 메테오 2칸 거리 75% 데미지
※ 스킬 자체의 랜덤변수 존재 (스탯 0 기준 80~120. 이후 스탯 계수 합산)
※ 공식대로라면 힘+덱스 380 기준 정중앙 데미지는 143~183 이지만 228 이상 명성 획득 가능
※ 메테오에 인트계수가 추가되었을 것으로 추정
- 블러디 스피어
void BloodySpear::computeOutput(const SkillInput& input, SkillOutput& output) { output.Damage = min(180, input.STR / 6 + input.INTE / 2 + input.DEX / 12); output.Delay = max(2, 6 - input.DEX / 50) * 10; }
※ 오픈소스 공식 상 180 상한이지만 후술한 이유로 인하여 216 데미지 상한
※ 스킬레벨과 저항 공식
penalty = 1.5 × (Resist - MagicLevel/5) ÷ (Resist - MagicLevel/5 + 100) penalty 최저값 = -0.2 최종 데미지 = 기본데미지 × (1 - penalty)
※ 몬스터 저항력
if (monsterType >= 371 && monsterType <= 375) { Poison = 70; Acid = 60; Curse = 100; Blood = 50; } else { Poison = 50; Acid = 0; Curse = 0; Blood = 0; }
= 대부분의 일반몬스터(로이카다브루,터그레거,리치젤 등)의 경우 독저 50 나머지 0 저항
특수몬스터 = Slayer Relic Shrine, Vampire Relic Shrine 등
※ 뱀파이어 계급스킬인 블러드,산성,독 저항 -10%는 실효저항 = 원래저항 × 0.9 (0*0.9 = 0) 이므로
일반몬스터에게 효과가 없습니다.
※ 저주 관련 성공률 및 공식은 다른 변수들이 있을것으로 추정되며 이 글에서는 제외합니다.
※ 계산식 (블러디 스피어 94렙 / 몬스터 저항 0 기준)
MagicLevel/5 = 94/5 = 18.8
penalty = 1.5 × (0 - 18.8) ÷ (0 - 18.8 + 100) = 1.5 × (-18.8) ÷ 81.2 = -28.2 / 81.2 ≈ -0.3473
패널티 최저값은 -0.2 이므로 20% 추가 데미지
블러디 스피어 180 * 1.2 = 216 (마법 공격력 옵션 0 기준)
그 외 스킬 공식들도 게시글 상단에 올려드린 깃허브 링크를 통해 확인이 가능합니다.
Comments List
Dondon님의 댓글
Dondon 작성일조아욘