2009년 8월 22일 토요일

수양사제가 활동량이 높다고?

수양사제가 활동량이 높다고?

최근 사제게시판에 올라오는 수양사제 글중에 이런글들이 있다.
"수양사제는 활동량이 높아요!" "수양사제는 힐량보다 활동량으로 평가해주세요!"
"수양사제가 활동량이 낮으면 논 것입니다" "수양사제는 활동량!"
심지어는 좀 한다 하는 수사분들까지도 이 대열에 동참햇다
어? 잠깐? 내 수양사제는? 내 수양 타면 활동량이 신사때보다 더 떨어지는데?
나는 흔히 말하는 양산형 수사인건가 흑흑 손도 느린데 나는 캐삽질 하고 있는건가...

이상하다. 난 수사일때 혹 묻어간다는 소리 들을까바 더 열심히 한다
환희나 지능효과를 충분히 받음에도 불구하고, 신사보다 수사가 엠이 더 모자를 정도로.
보막은 손이 닳도록 누르고 있고, 확실히 뭐 누르는건 신사보다 많고 흡수량도 괜찬다.
근데 내가 양산형? 묻어간다고? 이럴 순 없지!

결국 리카운트를 키고 항상 던전 간 이후에 스킬분석등을 하고 있게 되엇다.
그러면서 최근 결론이 났는데....그 결론이란!
"수사가 신사보다 활동량이 높을 이유는 전혀 없으며, 활동량에 대한 무지의 소치로 비롯된 주장이며. 수사는 오히려 활동량이 신사보다 적어야 정상이다."

어째서 그런 결론이 나오는 것일까? 일단 우리가 활동량에 대한 엄청난 오해를 하고 있는 점에서 비롯된다.활동량이 무슨 글쿨 돌린 횟수라는 말도 안되는 활동량에 대한 몰이해가 사게 전체를 지배하고 있다.활동량이 글쿨? 쿡. 만약 이런 이유로 수사를 활동량이 높을 것이다 라고 생각햇으면 완전히 틀렷다고 보면 된다. 물론, 다른 이유가 잇는 사람도 있으리라 생각된다.본 글의 목적은 정말로 그게 궁금해서 쓴 글이므로, 혹시 상기의 오해 이외에 다른 견해가 있으신 분들의 댓글을 환영한다.


** 주의 : 수학 시작합니다. 수학만 들으면 경기를 일으킨다든가 잘 이해가 안가면
활동량과 글쿨은 무관하다만 납득하고 넘어가세요 ***
** 플포는 접어두기가 안되서^^;; **
** 이것은 그것의 증빙 자료 **
그렇다면 활동량에 대해서 정확히 알아보자.
리카운트의 활동량 체크 방식은 lua를 분석하면 다음과 같다. lua를 쓰면 저같은 프로그래머 이외에는 알아볼 수 없으므로,간단하게 설명하자. 그래도 좀 복잡할 것이다.치유량만 기준으로 하엿다.

1. 치유 이벤트(SPELL_HEAL)이 발생
2. 유효힐인지 측정. 유효힐이 아니면 패스
3. 마지막으로 기록된 이벤트(SPELL_HEAL) 발생 시간부터 현재 시간과의 차이를 구한다.
4. 만약 이 시간이 3.5초 보다 큰 경우, 이 시간은 3.5로 갈음한다.
5. 최종 이벤트 시간을 현재 시간으로 갱신한다.
6. 다음공식에 의거 계산한다.{반올림함수(100*차이시간+0.5)/100} 이공식에 3.5를 넣으면 3.5가 반환된다.

프로그래머가 아닌 사람들은 이게 도대체 뭔 소리야 할것이다.
만약 프로그래머쪽은 아래 lua를 보는게 더 이해가 빠를 수도 있다.
알기 쉽게 실제 스킬로 보자. 근데 아닌 사람들은 그래도 어려울 듯;;;

0.0 전투시작
0.5 A. 순간 치유 시전 시작 ,B 순간 치유 시전 시작
2.0 A. 순간 치유 힐 C, B 순간 치유 힐 D
3.0 A 소생 시전 C
4.0 B 순간 치유 시전 시작 D
5.0 A 순간 치유 시전 시작 C
5.5 B 순간 치유 힐 D
5.5 B 순간 치유 시전 시작 D
6.0 A 소생 치유 C
6.5 A 순간 치유 힐 C
7.0 B 순간 치유 힐 D

A의 글쿨 횟수 : 순간치유(0.5)+소생(3.0)+순간치유(5.0) = 3
B의 글쿨 횟수 : 순간치유(0.5)+순간치유(4.0)+순간치유(5.5)=3
A의 활동량 : 3.5+(100*(6.0-2.O)+0.5)/100+(100*(6.5-6.0)+0.5)/100
= 3.5+400/100+50/100
= 3.5+4+0.5
= 8
B의 활동량 : 3.5+(100*(5.5-2.0)+0.5)/100+(100*(7.0-5.5)+0.5)/100
= 3.5+3.5+150/100
= 3.5+3.5+1.5
= 8

보시다시피 B의 힐이 0.5초 늦게 들어갓는데도 활동량은 동일하다.
하지만 6.5초의 C의 소생이 오버힐이라면 어떨까?
동일한 글쿨을 돌렸는데도 A는 3.5+3.5 즉 7로 A의 활동량은 B보다 적어진다.
즉 확실히 말할 수 있는 건 글쿨과 활동량은 같지 않다!
** 주의종료 **

혹자는 질문할지도 모르겟다. 그래도 유효힐만 잘 때려 넣으면 비슷하지 않을까요?
수양은 시간벌기와 깨달음등으로 기본 가속이 높은데...
그렇다. 수양은 시간 벌기 등으로 높은 가속 수치를 이용하여,
고활동량을 얻는 게 불가능하지는 않다.
이런 분들은 수양으로 높은 치유량을 보이며, 이런 방식의 대표주자로는
피그로우님,유니크대머리사제님등이 있다
(이분들에 의해서 수양이 활동량이란 공식이 넓게 퍼진 듯하다)

하지만 수양의 활동량 증가에 결정적인 발목을 붙잡는 요소가 하나 있다.
그것은 바로 "보호막!"
보호막은 Recount 관점에서 치유나 공격이 아니다. 즉 치유량에 포함되지 않는다!
애초에 보호막이벤트가 SPELL_HEAL이벤트에 포함되지 않는다.
따라서 보호막을 치는 전통적인 Damage Prevation 수사들은
활동량이 점점 낮아질 수 박에 없다. 보호막을 아무리 쳐도 활동량의 증가수치는 0 이기 때문이다.

이 말이 믿기지 않는가? 당장 달라란 아래로 이동해서 늑대 붙잡고
하루종일 보호막을 쳐보아라.
활동량은 그대로 0를 유지할 것이다.
즉 피그로우님과 유니크님처럼 시간 벌기를 이용하여 추가 힐을 날린다면
활동량 증가에 보탬이 되겟지만
그 시간 벌기를 새로운 보막에 지속적으로 투자할수록,
해당 수양사제의 활동량은 줄어들 수 밖에 없다.

결론은 수양 사제를 활동량으로 판단해 주세요는.
보호막 후 시간 벌기를 이용해 보호막보다는 힐을 캐스팅 하는
일부 수양 사제만 적합한 이야기로서,
수양 사제를 평가하는 기준으로는 부적절하다고 본다.


** 추가 : 프로그래머면 이쪽이 이해하기 쉬울듯? **
** lua나 c, 프로그래머에 관심없는 사람은 패스~ **
** Recount의 활동량 계산 lua 코드입니다 **
local eventtime
local Adding
function Recount:AddTimeEvent(who, onWho, ability, friendly)

if not who then return end

eventtime=GetTime()
who.LastAbility = who.LastAbility or 0
Adding=eventtime-who.LastAbility

who.LastAbility=eventtime

if Adding>3.5 then
Adding=3.5
end

Adding=math_floor(100*Adding+0.5)/100

Recount:AddOwnerPetLazySyncAmount(who,"ActiveTime", Adding)
--Recount:AddSyncAmount(who,"ActiveTime", Adding)


Recount:AddAmount(who,"ActiveTime",Adding)
Recount:AddTableDataSum(who,"TimeSpent",onWho,ability,Adding)

if friendly then
Recount:AddAmount(who,"TimeHeal",Adding)
Recount:AddTableDataSum(who,"TimeHealing",onWho,ability,Adding)
else
Recount:AddAmount(who,"TimeDamage",Adding)
Recount:AddTableDataSum(who,"TimeDamaging",onWho,ability,Adding)
end
end

댓글 없음:

댓글 쓰기