발동효과 계산 - 검은 마력 
최종 수정 : 2010.02.11.
꼭 검은 마력 뿐만 아니라 다른 비슷한 매커니즘에도 똑같이 적용할 수 있는 이야기이다.

효과 스펙                        
와우 3.3.0a 현재, 무기 마법부여인 검은 마력의 효과는 흑마법사 특성인 박멸과 같은 매커니즘이다. 박멸(Eradication)의 효과에 대하여에서 언급한 것과 같은 발상으로 검은 마력의 효과를 분석해보자. 검은 마력의 효과 스펙은 다음과 같다.
해로운 주문(도적 독 포함) 적중시 35% 확률로 발동.
발동시 10초간 250 가속도
35초 내부 쿨
발동 버프는 해제 불가
 
분석 방법                        
먼저 친절한 척 이론을 보여준다. 조건부 기대값을 합산하는 이야기이다.
일단 우리는 n번째 시전에 효과가 발동할 확률을 알 수 있다. 또 그때의 효과 정도를 알 수 있으며, 그 경우에 소모하는 시간을 알 수 있다. 효과 정도와 소모 시간으로부터 초당 효과량을 알 수 있다. 이 '초당 효과량'이 초래될 확률은 n번째 시전에 효과가 발동할 확률과 같다. 이런 식으로 1~x 번째까지의 ∑(확률 * 초당 효과량) 을 구할 수 있다. 결과값은 해당 발동 효과의 평균 초당 효과를 나타낸다.
효과량              a
효과 지속(초)     m    //타격 주기에 비해 길다. 내부 쿨에 비해 짧다.
내부 쿨(초)        c     //효과 지속에 비해 길다.
발동률              p
타격 주기(초)     h     //효과 지속에 비해 짧다.
1차 타격 발동시,
총 효과량          a*m
실행시간           h+c
초당 효과          a*m/(h+c)
실행확률           p
2차 타격 발동시,
총 효과량          a*m
실행시간           2*h+c
초당 효과          a*m/(2*h+c)
실행확률           (1-p)*p
n차 타격 발동시,
총 효과량          a*m
실행시간           n*h+c
초당 효과          a*m/(n*h+c)
실행확률           (1-p)^(n-1)*p
종합 효과 계산 (x차 타격까지 고려)
                       ∑{n:1~x}{ a*m/(n*h+c) * (1-p)^(n-1)*p }
이 방식으로 생각하면 Uptime 은 직접 계산해낼 수 없고, 결과로부터 역산할 수는 있다. 그리고 랜덤이나 자료수집 등을 이용한 것이 아니기 때문에 결정적인 결과가 나온다.

구현                        
잔소리가 필요 없는 코드 붙이기.
GeneralTrinket.java
위의 발상을 이용해서 실제로 결과를 내는 코드이다. 전투 끝에 걸리는 지속시간과 쿨타임 등에 대해 더 고려를 한 상태임. 처음에 있는 주석 달린 변수들을 고쳐주면 됨.

결과 분석                        
지금 들어가있는 값들을 잘 보면, 현재의 고통흑마의 입장에서 검은 마력의 효과를 계산하고 있다.
지금대로의 출력 결과는 다음과 같다.
max exeTime : 60.0
max n : 31
sumEff : 62.465140744388265
즉, 검은 마력은 가속 62.5 정도의 효과라는 말이다. 한손 무기 뎀증마부가 뎀증 63이라는 점을 상기해보자. 비록 쉽게 역전시킬 수 있는 입장이 되었지만, 일반적인 세팅에서는 여전히 뎀증의 가치가 가속보다 높다.

그렇다면 검은 마력은 쓰레기인가? 꼭 그렇지는 않다. 언제나 상황 조건은 중요하다. 내부쿨에 비해 전투시간을 짧게 잡으면 어떤가. 다른 값은 그대로 두고 maxExeTime만 30으로 잡으면 이렇게 된다.
max exeTime : 30.0
max n : 15
sumEff : 82.88763317531283
딜 시간이 긴 간격으로 끊기는 전투에서 검은 마력은 주문력 마부를 상회하는 효과를 보인다는 뜻이다. 물론 발동 안 하면 죽도 밥도 아니지만... 일단은 발동률이 30%다. 즉, 3회차 타격 이내에 한 번이라도 발동할 확률이 [1-0.7^3]=65.7%나 된다.

전투시간 외에 검은 마력의 효과에 영향을 주는 또 다른 요인이 있다. 스펙에 의해 변하는 가속. 처음의 코드에서 접근주기가 1.9 로 잡혀 있는데, 이게 T8 수준에선 2.1 정도이고 T10 풀세팅①에선 1.53 정도이다. 다시 처음 코드에서 castTime 1.53 로 잡은 결과는 이렇다.
max exeTime : 60.0
max n : 39
sumEff : 63.94236637559117
이 경우 scale factor에 따른 DPS 환산 가치는 주문력 63이 검은 마력보다 4정도 더 높다. 그런데 이것은 시뮬레이션 오차 범위에 속하는 작은 수다.
대개 가속효과는 기존의 가속이 높으면 scale factor의 하락에 의해 가치가 떨어지는 것이 보통이다. 하지만 검은 마력의 경우 기존 세팅이 고가속일수록 발동 주기가 빨라져서 scale factor 하락에 대한 카운터가 된다. 어쨌든 고가속 세팅에서는 닥딜시 주문력 마부에 준하는 효과를 내면서, 동시에 뚝뚝 끊기는 전투에서는 훨씬 높은 효과를 내준다는 이야기가 된다.

정리+                        
저가속 닥딜에선 주문력 63이 검은 마력보다 좋다.
전투가 끊어지는 시간이 길 때, 혹은 일반몹 구간에서는 주문 63보다 검은 마력이 좋다.
캐릭터의 가속이 높으면 검은 마력의 효과가 올라서 닥딜에서도 주문력 63을 따라잡는다.
주문력 81에 비하면 완전히 구림. (양손 장비에 발랐을 때 효과가 달라지지는 않는 것 같다.)

대개 상황에 최적화되는 성질은 사용효과가 가장 강하고, 고정적 착용효과는 전혀 상황에 적응적이지 않다. 발동효과의 경우 애매한 위치에 있는데, 발동률이 높은 경우(수십% 수준)에는 사용효과와 비슷한 상황 적응성을 가진다. 이런 발동효과는 전투 초기에 약간의 시간차를 둔 채로 발동하고, 이후 전투 사이 간격이나 딜링이 불가능한 시간에 내부쿨이 돌아가는 방식이 되기 때문에 현실적으로 최적화된 형태이다. 유저의 조작을 필요로 하지 않기 때문에 시전렉에 의한 패널티를 가질 필요조차 없다. 반대로 발동율이 낮은 경우(2~5% 수준)에는 초기 발동 시간이 너무 길어서 오히려 고정적 착용효과보다 못한 성능을 가지게 된다.

발동효과 얘기하는 김에 장신구 이야기도 좀 해 보자면...
상급이건 하급이건 이물질이 특성불문하고 흑마에게 최상의 장신구다.
부패의 크리 부스터와 영구결빙에 관련해서,
고흑 기준 단일 효과 순위
    이물질상급 > 이물질하급 > 영구결빙 > 이름없는리치의성물함
고흑 기준 조합 효과 순위
    이물질상급 + 이름없는리치의성물함 > 이물질상급 + 영구결빙
딜 시작 패턴
    시작 전 생전과 마폭물약 -> 어활 -> 유출 -> 영구결빙 사용 -> 불통 -> 부패 -> 고통저주
    시작 전 생전과 마폭물약 -> 어활 -> 유출 -> 영구결빙 사용 -> 원소저주 -> 부패 -> 불통

 

 

 

죄송합니다 출처는 모르겠어영 ㅠㅁㅠ 옛날에 퍼온거라..