심크래프트라는 딜 시뮬레이션 해주는 프로그램이 있는 건 다들 잘 알고 계실 겁니다. 이하 심크.


심크의 초급 활용이 자기 캐릭을 읽고, 재연마나 EP 값을 계산하는 거라면

중급활용은 simulate tap 의 내용을 수정해서 딜 사이클을 최적화한다던가, 장비변경시 딜 상승을 체크한다던가,

하는 거라 볼수 있습니다.

상급은 내부 소스를 수정하는 건데 이건 저도 이 수준이 아니니까 패스...


캐릭터를 읽어 드리면 다음과 같은 창이 보일 겁니다.


보면 simulate! 옆에 warlock_demonology_T15H 라고 되있는게 캐릭 입니다. 위 예는 심크에 내장된 샘플을 읽었기 

때문에 저렇게 표시되는거고 캐릭을 읽어드리면 캐릭 이름이 표시됩니다.

이제 내용을 살펴보죠. 위에서부터 차례로 설명하겠습니다.



1. 캐릭 기본 사항

warlock="Warlock_Demonology_T15H"

level=90

race=troll

role=spell

position=back

professions=herbalism=600/tailoring=600

talents=http://us.battle.net/wow/en/tool/talent-calculator#VZ!0.0.21

glyphs=imp_swarm/everlasting_affliction/siphon_life

spec=demonology


기본 캐릭설명입니다. 레벨, 종족, 특성, 문양 이런걸 기재하고 있습니다. race 란을 수정하면 다른 종족으로 


취급되는데, 트롤이나 오크와 같이 종특이 시전 기술인 종족으로 변경하는 경우, 시전 기술은 행동리스트에


따로 추가해야 됩니다. 종족만 바꾼다고 추가되는건 아님




 2. 사전 행동

actions.precombat=flask,type=warm_sun

actions.precombat+=/food,type=mogu_fish_stew

actions.precombat+=/dark_intent,if=!aura.spell_power_multiplier.up

actions.precombat+=/summon_pet,if=!talent.grimoire_of_sacrifice.enabled|buff.grimoire_of_sacrifice.down

actions.precombat+=/snapshot_stats

actions.precombat+=/grimoire_of_sacrifice,if=talent.grimoire_of_sacrifice.enabled

actions.precombat+=/service_pet,if=talent.grimoire_of_service.enabled

actions.precombat+=/jade_serpent_potion


전투 전 사전행동을 기입한 줄 입니다. 영약 먹고, 음식 먹고 물약먹고, 펫 준비하고 하는 부분입니다.


허수딜 할때는 영약 음식 안먹는 분이 많은데, 허수딜 체크하고 싶을 실때는 음식 물약 영약을 여기서 지우면 되겠습니다.

옵션란에서 버프 지우는건 기본이니까 패스.


3. 행동리스트 - 단일

actions=curse_of_the_elements,if=debuff.magic_vulnerability.down

actions+=/jade_serpent_potion,if=buff.bloodlust.react|target.health.pct<=20

actions+=/lifeblood

actions+=/berserking

actions+=/imp_swarm,if=buff.dark_soul.up|(cooldown.dark_soul.remains>(120%(1%spell_haste)))|time_to_die<32

actions+=/dark_soul

actions+=/service_pet,if=talent.grimoire_of_service.enabled

actions+=/felguard:felstorm

actions+=/wrathguard:wrathstorm

actions+=/run_action_list,name=aoe,if=active_enemies>4

actions+=/summon_doomguard

actions+=/metamorphosis,if=buff.perfect_aim.react&active_enemies>1

actions+=/doom,cycle_targets=1,if=buff.metamorphosis.up&buff.perfect_aim.react&(crit_pct<100|ticks_remain<=add_ticks)

actions+=/touch_of_chaos,cycle_targets=1,if=buff.metamorphosis.up&dot.corruption.ticking&dot.corruption.remains<1.5

actions+=/soul_fire,if=buff.metamorphosis.up&buff.molten_core.react&(buff.perfect_aim.react&buff.perfect_aim.remains>cast_time)

actions+=/doom,cycle_targets=1,if=buff.metamorphosis.up&(ticks_remain<=1|(ticks_remain+1<n_ticks&buff.dark_soul.up))&target.time_to_die>=30&miss_react&dot.doom.crit_pct<100

actions+=/touch_of_chaos,cycle_targets=1,if=buff.metamorphosis.up&dot.corruption.ticking&dot.corruption.remains<20&dot.corruption.crit_pct<100

actions+=/cancel_metamorphosis,if=buff.metamorphosis.up&buff.dark_soul.down&demonic_fury<=650&target.time_to_die>30

actions+=/soul_fire,if=buff.metamorphosis.up&buff.molten_core.react&(buff.dark_soul.remains<action.shadow_bolt.cast_time|buff.dark_soul.remains>cast_time)

actions+=/touch_of_chaos,if=buff.metamorphosis.up

actions+=/corruption,cycle_targets=1,if=buff.perfect_aim.react&(crit_pct<100|ticks_remain<=add_ticks)

actions+=/hand_of_guldan,if=buff.perfect_aim.react&buff.perfect_aim.remains>travel_time

actions+=/corruption,cycle_targets=1,if=!ticking&target.time_to_die>=6&miss_react

actions+=/metamorphosis,if=(buff.dark_soul.up&demonic_fury%32>buff.dark_soul.remains)|(dot.corruption.remains<5&dot.corruption.crit_pct<100)|!dot.doom.ticking|demonic_fury>=950|demonic_fury%32>target.time_to_die|buff.perfect_aim.react

actions+=/hand_of_guldan,if=!in_flight&dot.shadowflame.remains<travel_time+action.shadow_bolt.cast_time&(charges=2|dot.shadowflame.remains>travel_time|(charges=1&recharge_time<4))

actions+=/soul_fire,if=buff.molten_core.react&(buff.dark_soul.remains<action.shadow_bolt.cast_time|buff.dark_soul.remains>cast_time)

actions+=/life_tap,if=mana.pct<60

actions+=/shadow_bolt

actions+=/fel_flame,moving=1

actions+=/life_tap



이와 같은 행동리스트가 있는데, 간단히 설명하면 위에서 부터 차례대로 시전한다고 보면됩니다.


위에 3 줄만 따와서 자세히 설명하면,


1.actions+=/imp_swarm,if=buff.dark_soul.up|(cooldown.dark_soul.remains>(120%(1%spell_haste)))|time_to_die<32

2.actions+=/dark_soul

3.actions+=/service_pet,if=talent.grimoire_of_service.enabled


다음과 같이 시행됩니다.

 1. 악영 켜졌거나 악영 쿨 남은시간 보다 임군 쿨이 줄어들 경우 임군 사용
 2. 악영
 3. 봉사

처음는 악영이 안켜졌기 때문에 1번은 무시되고 2번이 사용됩니다. 따라서 위 3줄의 시행순서는

 2->1->3 이 됩니다. 이런 식으로 위 행동리스트가 진행되는데, 내용이 어려운게 아니기 때문에

한줄 한줄 설명하는건 패스하겠습니다. 그냥 어떤 조건에서 다음 스킬을 시전한다. 이게 다입니다.

행동리스트를 수정할때 주의해야 할 사항이 있는데, 쿨이 없는 스킬을 리스트의 상단에 적고 

시행 조건을 기입하지 않으면 그것만 사용해서 의도한 결과가 안나오는 경우가 있습니다.

예를 들어 아래 기재한 제물의 오라 사용 추가하는줄을 추가하는 거에 대해 알아보죠.

actions+=/immolation_aura,if=buff.metamorphosis.up

탈태시 제물의 오라를 사용하겠다는 내용인데, 이렇게 적으면 안됩니다. 그 이유는

제물의 오라는 쿨이 없기때문에 실제로는 제물의 오라가 올라가면 버프중에 다시 시전할일은 없는데

위 조건으로는 제물의 오라를 계속! 시전하게 됩니다. 제물에 오라가 돌고 있는데도! 

그래서 쿨이 없는 스킬의 경우 연속 시전을 못하도록 조건을 달아줘야 됩니다. 

필러스킬의 경우는 다르다고 볼수 있는데, 필러스킬은 할게 없으면 계속 사용하는게 필러스킬이라...


자기가 생각하는 딜 사이클로 수정도 했고, 실제 돌려봤는데 뭔가 잘 안나온는거 같을때.

이 때 자기 생각대로 잘 시행되고 있나 확인하는 방법이 있습니다. 심크를 돌리면 나오는 결과창을 좀 내려보면...


Action Priority List 라는 항목이 있고 이걸 클릭하면 위와 같이 나옵니다.

좌측에보면 각 행동을 몇번 사용했는지 카운트된 항목과 실제 다음 순서로 사용되었다는 sample sequence 가 

습니다. sample sequence 를 따라가면서 자기 생각대로 진행되고 있는지 체크하거나, 추가한 행동이

어느정도 사용되고 있는지 카운트를 통해 확인 할수 있습니다. 조건을 너무 까다롭게 적어서 전투중

1-2번 밖에 사용되지 않는다면 크게 의미있는 내용이라 보기는 힘들겠죠.


4. 행동리스트 - 복수

actions.aoe=summon_infernal

actions.aoe+=/cancel_metamorphosis,if=buff.metamorphosis.up&dot.corruption.remains>10&demonic_fury<=650&buff.dark_soul.down&!dot.immolation_aura.ticking

actions.aoe+=/immolation_aura,if=buff.metamorphosis.up,line_cd=7

actions.aoe+=/void_ray,if=buff.metamorphosis.up&dot.corruption.remains<10

actions.aoe+=/doom,cycle_targets=1,if=buff.metamorphosis.up&(!ticking|remains<tick_time|(ticks_remain+1<n_ticks&buff.dark_soul.up))&target.time_to_die>=30&miss_react

actions.aoe+=/void_ray,if=buff.metamorphosis.up

actions.aoe+=/corruption,cycle_targets=1,if=!ticking&target.time_to_die>30&miss_react

actions.aoe+=/hand_of_guldan

actions.aoe+=/metamorphosis,if=dot.corruption.remains<10|buff.dark_soul.up|demonic_fury>=950|demonic_fury%32>target.time_to_die

actions.aoe+=/hellfire,chain=1,interrupt=1

actions.aoe+=/life_tap


광딜 행동리스트입니다. 단일딜 행동리스트를 보면


actions+=/run_action_list,name=aoe,if=active_enemies>4 


이렇게 5마리 일 경우 광딜로 ㄱㄱ 이런식으로 되있는게 확인됩니다. 



5.  장비


head=hood_of_the_crimson_wake,id=96887,gems=sinister_primal_160hit_160mastery_180int

neck=megaeras_shining_eye,id=96825,reforge=crit_exp

shoulders=mantle_of_the_thousandfold_hells,id=96729,gems=80int_160haste_320haste_120haste,enchant=200int_100crit,reforge=crit_hit

back=red_sky_cloudcloak,id=95014,gems=320haste_60haste,enchant=lightweave_embroidery_3,reforge=haste_exp

chest=starburner_robes,id=95039,gems=80int_160haste_80int_160haste_80int_160haste_180int,enchant=80all

wrists=frostborn_wristwraps,id=96824,suffix=340,gems=320haste_60int,enchant=180int,reforge=haste_mastery

hands=gloves_of_the_thousandfold_hells,id=96725,gems=80int_160mastery_60int,enchant=170haste,reforge=crit_hit

waist=cord_of_cacophonous_cawing,id=96834,gems=80int_160haste_320haste_320haste_120haste,reforge=hit_mastery

legs=leggings_of_the_discarded_warning,id=95030,gems=80int_160mastery_320haste_320haste_180mastery,enchant=285int_165crit

feet=damrens_frozen_footguards,id=96900,gems=80int_160mastery_60haste,enchant=140mastery

finger1=radens_summoning_band,id=95019,gems=160haste_160hit_60int,reforge=haste_exp

finger2=roshaks_remembrance,id=96901,gems=160haste_160hit_60haste,reforge=crit_haste

trinket1=unerring_vision_of_lei_shen,id=96930

trinket2=breath_of_the_hydra,id=96827

main_hand=suenwo_spire_of_the_falling_sun,id=96911,gems=80int_160mastery_320haste_60int,enchant=jade_spirit


캐릭터 장비 란입니다. 


head=hood_of_the_crimson_wake,id=96887,gems=sinister_primal_160hit_160mastery_180int

부위= 장비 이름, 장비id, 보석,마부,업글,재연마


이런 식으로 되있습니다. 위 장비란을 수정하면 자기가 생각하는 베스트 세팅의 경우 디피 상승 같을 걸 


계산할 수 있겠습니다. 예를 들면 업글의 경우


trinket1=unerring_vision_of_lei_shen,id=96558,upgrade=2


상레이션 인데 2 업 즉 543 상태입니다. 이걸 업글 해야 될까? 말아야 될까 하고 고민이 될때,


trinket1=unerring_vision_of_lei_shen,id=96558,upgrade=4


이렇게 수정하면 4업 즉 551 상태의 레이션일때 디피 상승을 미리 체크할수 있겠습니다.



6. 기타

이 이외에도 기본 옵션에 있는 ep 값은 스텟 1000단위로 계산되는데 이걸 500으로 계산한다던가,

기본 옵션에 없는 간격으로 그래프를 그린다던가, 티어 효과를 넣고 뺀다던가 하는게 가능합니다.