시뮬레이터를 간단하게 만들고 시뮬레이션을 돌려봤습니다.

매 순간 dps는 몹의 체력, 역병 유무, 분노유무, 자가버프 스킬 사용 유무에 따라서만 달라지는 경우를 고려했습니다.


<시뮬레이터 옵션 설정>
1. 몹의 체력이 감소함에 따라 순간 dps가 80%~ 110.5%까지 변화합니다.
1.1  몹 체력에 따라 데미지가 변화하는 스킬의 비중이 전체 dps 비중 중 50%에 해당한다고 보고 50%만 적용시켰습니다.

2. 역병 지속 시간 동안 순간 dps가 5% 증가합니다.
2.1 역병은 32초간 유지됩니다
2.2 역병 쿨타임은 2분입니다.

3. 분노 지속 시간 동안 순간 dps가 45% 증가합니다.
3.1 분노 쿨타임은 4분으로 설정했습니다.
3.2 분노 쿨타임이 왔을 때 자연분노까지 5% 미만이 남았다면 분유를 쓰지 않습니다.
3.3 분노가 풀린 후 10% 체력 감소시 자연 분노합니다.

4. 자가 버프 지속 시간 동안 순간 dps가 50% 증가합니다.
4.1. 자가 버프는 22초 유지됩니다.
4.2. 자가 버프 쿨타임은 2분입니다.


<시나리오 설정>
1. 분노 유발 타이밍 : 초분 or 연분의 2가지
2. 자가버프 스킬 타이밍 : 그냥 쿨마다 쓰는 경우 or 노분시 분노를 기다리는 경우의 2가지
3. 역병 스킬 타이밍 : 그냥 쿨마다 쓰는 경우 or 분노때까지 기다리는 경우의 2가지

변수 3개로 총 8가지 경우에 대해서 시뮬레이션을 돌려봤습니다.

각 시나리오별 번호는 다음과 같습니다.

1. 초분, 쿨마다 자가버프, 쿨마다 역병
2. 초분, 쿨마다 자가버프, 분노때만 역병
3. 초분, 분노때만 자가버프, 쿨마다 역병
4. 초분, 분노때만 자가버프, 분노때만 역병
5. 연분, 쿨마다 자가버프, 쿨마다 역병
6. 연분, 쿨마다 자가버프, 분노때만 역병
7. 연분, 분노때만 자가버프, 쿨마다 역병
8. 연분, 분노때만 자가버프, 분노때만 역병


몬스터 체력을 1,000부터 100,000까지 변화를 주면서 각 시나리오별로 시뮬레이션을 돌렸습니다.
이는 사냥 시간이 각각 4초 ~ 743초 가량인 경우에 해당됩니다.
최근 한 마리 몹을 12분 이상 잡는 경우가 잘 없는듯하여 여기까지만 시뮬레이션을 돌렸습니다.

몬스터 체력이 35000인 경우 (최소 사냥 시간이 243초 가량)의 샘플에 대한 그래프는 아래와 같습니다.

<평균 dps. 몬스터 체력 35000. 최소 사냥 시간 243초 가량>


<분노/역병/자가버프/보스체력에 따른 데미지 증가 상세 그래프. 몬스터 체력 35000. 최소 사냥 시간 243초 가량>




위와 같은 방식으로 여러 샘플에 대한 데이터를 얻었고, 그에 대한 최종 결과만을 아래에 표기해두었습니다.

해당 체력의 몬스터에 대해서 평균 dps가 가장 높게 나온 시나리오 번호가 가장 우측에 표기되어 있습니다.

78초만에 잡은 한가지 경우를 제외하면 모두 1번과 4번의 경우가 가장 빠릅니다.

사냥 시간 구간별 최적 시나리오는 다음과 같았습니다.

1번 : 나머지 모든 구간
5번 : 78초 가량인 경우
4번 : 172~237초, 332초 가량, 471~479초, 554~689초


<결과 데이터>
Monster HP = 1000, min_time = 3.965269, min_ScenarioIndex = 1
Monster HP = 2000, min_time = 7.930537, min_ScenarioIndex = 1
Monster HP = 3000, min_time = 11.895806, min_ScenarioIndex = 1
Monster HP = 4000, min_time = 15.861074, min_ScenarioIndex = 1
Monster HP = 5000, min_time = 19.826343, min_ScenarioIndex = 1
Monster HP = 6000, min_time = 25.045739, min_ScenarioIndex = 1
Monster HP = 7000, min_time = 31.786695, min_ScenarioIndex = 1
Monster HP = 8000, min_time = 38.854034, min_ScenarioIndex = 1
Monster HP = 9000, min_time = 48.586079, min_ScenarioIndex = 1
Monster HP = 10000, min_time = 56.008544, min_ScenarioIndex = 1
Monster HP = 11000, min_time = 63.428631, min_ScenarioIndex = 1
Monster HP = 12000, min_time = 70.850699, min_ScenarioIndex = 1
Monster HP = 13000, min_time = 78.726815, min_ScenarioIndex = 5
Monster HP = 14000, min_time = 85.687563, min_ScenarioIndex = 1
Monster HP = 15000, min_time = 93.100600, min_ScenarioIndex = 1
Monster HP = 16000, min_time = 102.443200, min_ScenarioIndex = 1
Monster HP = 17000, min_time = 112.706306, min_ScenarioIndex = 1
Monster HP = 18000, min_time = 120.395458, min_ScenarioIndex = 1
Monster HP = 19000, min_time = 124.742189, min_ScenarioIndex = 1
Monster HP = 20000, min_time = 129.089284, min_ScenarioIndex = 1
Monster HP = 21000, min_time = 133.436605, min_ScenarioIndex = 1
Monster HP = 22000, min_time = 137.783926, min_ScenarioIndex = 1
Monster HP = 23000, min_time = 142.223430, min_ScenarioIndex = 1
Monster HP = 24000, min_time = 149.614413, min_ScenarioIndex = 1
Monster HP = 25000, min_time = 157.255666, min_ScenarioIndex = 1
Monster HP = 26000, min_time = 165.016326, min_ScenarioIndex = 1
Monster HP = 27000, min_time = 172.774810, min_ScenarioIndex = 4
Monster HP = 28000, min_time = 181.833975, min_ScenarioIndex = 4
Monster HP = 29000, min_time = 192.097081, min_ScenarioIndex = 4
Monster HP = 30000, min_time = 202.360187, min_ScenarioIndex = 4
Monster HP = 31000, min_time = 212.623293, min_ScenarioIndex = 4
Monster HP = 32000, min_time = 221.008232, min_ScenarioIndex = 4
Monster HP = 33000, min_time = 229.094125, min_ScenarioIndex = 4
Monster HP = 34000, min_time = 237.184364, min_ScenarioIndex = 4
Monster HP = 35000, min_time = 243.017115, min_ScenarioIndex = 1
Monster HP = 36000, min_time = 247.554674, min_ScenarioIndex = 1
Monster HP = 37000, min_time = 252.092234, min_ScenarioIndex = 1
Monster HP = 38000, min_time = 256.625557, min_ScenarioIndex = 1
Monster HP = 39000, min_time = 261.151979, min_ScenarioIndex = 1
Monster HP = 40000, min_time = 268.254007, min_ScenarioIndex = 1
Monster HP = 41000, min_time = 276.147132, min_ScenarioIndex = 1
Monster HP = 42000, min_time = 284.226672, min_ScenarioIndex = 1
Monster HP = 43000, min_time = 292.305973, min_ScenarioIndex = 1
Monster HP = 44000, min_time = 300.385274, min_ScenarioIndex = 1
Monster HP = 45000, min_time = 308.464576, min_ScenarioIndex = 1
Monster HP = 46000, min_time = 316.543877, min_ScenarioIndex = 1
Monster HP = 47000, min_time = 324.623178, min_ScenarioIndex = 1
Monster HP = 48000, min_time = 332.702528, min_ScenarioIndex = 4
Monster HP = 49000, min_time = 347.741839, min_ScenarioIndex = 1
Monster HP = 50000, min_time = 354.890147, min_ScenarioIndex = 1
Monster HP = 51000, min_time = 361.141991, min_ScenarioIndex = 1
Monster HP = 52000, min_time = 365.146988, min_ScenarioIndex = 1
Monster HP = 53000, min_time = 369.152030, min_ScenarioIndex = 1
Monster HP = 54000, min_time = 373.425098, min_ScenarioIndex = 1
Monster HP = 55000, min_time = 378.737104, min_ScenarioIndex = 1
Monster HP = 56000, min_time = 385.483488, min_ScenarioIndex = 1
Monster HP = 57000, min_time = 394.594862, min_ScenarioIndex = 1
Monster HP = 58000, min_time = 403.510898, min_ScenarioIndex = 1
Monster HP = 59000, min_time = 412.844742, min_ScenarioIndex = 1
Monster HP = 60000, min_time = 423.008070, min_ScenarioIndex = 1
Monster HP = 61000, min_time = 433.171397, min_ScenarioIndex = 1
Monster HP = 62000, min_time = 443.352416, min_ScenarioIndex = 1
Monster HP = 63000, min_time = 453.590531, min_ScenarioIndex = 1
Monster HP = 64000, min_time = 462.733959, min_ScenarioIndex = 1
Monster HP = 65000, min_time = 471.151922, min_ScenarioIndex = 4
Monster HP = 66000, min_time = 479.569886, min_ScenarioIndex = 4
Monster HP = 67000, min_time = 484.492796, min_ScenarioIndex = 1
Monster HP = 68000, min_time = 489.215485, min_ScenarioIndex = 1
Monster HP = 69000, min_time = 493.938175, min_ScenarioIndex = 1
Monster HP = 70000, min_time = 498.660865, min_ScenarioIndex = 1
Monster HP = 71000, min_time = 504.352042, min_ScenarioIndex = 1
Monster HP = 72000, min_time = 512.399645, min_ScenarioIndex = 1
Monster HP = 73000, min_time = 520.830147, min_ScenarioIndex = 1
Monster HP = 74000, min_time = 529.260697, min_ScenarioIndex = 1
Monster HP = 75000, min_time = 537.696481, min_ScenarioIndex = 1
Monster HP = 76000, min_time = 546.133447, min_ScenarioIndex = 1
Monster HP = 77000, min_time = 554.389246, min_ScenarioIndex = 4
Monster HP = 78000, min_time = 562.803289, min_ScenarioIndex = 4
Monster HP = 79000, min_time = 571.217332, min_ScenarioIndex = 4
Monster HP = 80000, min_time = 579.631374, min_ScenarioIndex = 4
Monster HP = 81000, min_time = 588.045417, min_ScenarioIndex = 4
Monster HP = 82000, min_time = 596.459459, min_ScenarioIndex = 4
Monster HP = 83000, min_time = 604.873502, min_ScenarioIndex = 4
Monster HP = 84000, min_time = 613.287544, min_ScenarioIndex = 4
Monster HP = 85000, min_time = 621.701587, min_ScenarioIndex = 4
Monster HP = 86000, min_time = 630.115630, min_ScenarioIndex = 4
Monster HP = 87000, min_time = 638.529672, min_ScenarioIndex = 4
Monster HP = 88000, min_time = 648.320849, min_ScenarioIndex = 4
Monster HP = 89000, min_time = 658.583955, min_ScenarioIndex = 4
Monster HP = 90000, min_time = 668.847061, min_ScenarioIndex = 4
Monster HP = 91000, min_time = 679.110167, min_ScenarioIndex = 4
Monster HP = 92000, min_time = 689.373274, min_ScenarioIndex = 4
Monster HP = 93000, min_time = 699.320166, min_ScenarioIndex = 1
Monster HP = 94000, min_time = 708.073985, min_ScenarioIndex = 1
Monster HP = 95000, min_time = 716.827803, min_ScenarioIndex = 1
Monster HP = 96000, min_time = 723.126958, min_ScenarioIndex = 1
Monster HP = 97000, min_time = 728.031058, min_ScenarioIndex = 1
Monster HP = 98000, min_time = 732.942039, min_ScenarioIndex = 1
Monster HP = 99000, min_time = 737.847069, min_ScenarioIndex = 1
Monster HP = 100000, min_time = 743.278569, min_ScenarioIndex = 1


※ 한 가지 샘플의 경우를 제외하면 왠만하면 초분하는게 좋다는 결과입니다. 몬스터 패턴 캔슬을 위한 구간별 최소 dps 제한에 대한 고려 등은 없기 때문에, 이와 같은 측면에서 잇점이 있는 몬스터 등은 결과가 다를 수 있다는 점을 고려해주세요.

※ 분노시 데미지 상승량이나 자가버프 스킬 쿨타임, 역병 쿨타임 등의 설정값으로 인해 결과가 달라질 수도 있습니다. 완전히 일반화할 수 있는 결과인건 아니에요. 예를 들면 이 시뮬레이션에선 역병과 자가버프 쿨타임이 같은데, 이 때문에 둘이 동시에 적용되는 구간이 길어서 이런 결과가 나온듯 합니다.