0+1vs1+1vs火冲
首先使用simC,采用以下几种代码,分别模拟一场600s的满buff木桩战
说明:simC是在当前读条施法结束,或者是当前瞬发gcd转完瞬间,才判断下一发法术该放什么。
具体来说相当于你站近战位,1+1火球+炎爆出手,炎爆的gcd内,火球炎爆命中,只爆了一个,变为0+1,下一发法术以身上为0+1开始判断(比如可以火冲)
经过手动修改人物属性,去掉所有非常驻效果的buff(战旗,风暴鞭,嗜血,巨魔狂暴)和装备(玉魂,多彩,饰品,工程等),保持模拟角色模型为火球s实际暴击率70%,4T16套装,约等于0%的精通,若有精通时,放大差距%=精通%,和10.57%的面板急速
手法中去掉爆发相关部分(镜像,操控,气定,燃烧),只比较火球,炎爆,火冲,炸弹四个技能的手法关系,结果如下
A. 代码:0+1无火冲 ...
actions+=/evocation,if=(buff.invokers_energy.down|mana.pct<20)
actions+=/pyroblast,if=buff.pyroblast.up&action.fireball.in_flight
actions+=/living_bomb,cycle_targets=1,if=(!ticking|remains<tick_time)&target.time_to_die>tick_time*3
actions+=/fireball
结果如下:dps194095,火冲个数0,炎爆个数82.4(爆率70.0%)
图 ...

B. 代码:1+1无火冲 ...
# Executed before combat begins. Accepts non-harmful actions only.
actions.precombat=flask,type=warm_sun
actions.precombat+=/food,type=mogu_fish_stew
actions.precombat+=/arcane_brilliance
actions.precombat+=/molten_armor
actions.precombat+=/snapshot_stats
actions.precombat+=/evocation
actions+=/evocation,if=(buff.invokers_energy.down|mana.pct<20)
actions+=/pyroblast,if=buff.pyroblast.up&buff.heating_up.up&action.fireball.in_flight
actions+=/living_bomb,cycle_targets=1,if=(!ticking|remains<tick_time)&target.time_to_die>tick_time*3
actions+=/fireball
neck=untainted_guardians_chain,id=105465,upgrade=4,reforge=hit_crit
shoulders=chronomancer_mantle,id=99401,upgrade=4,gems=5100exp_-16930mastery_32900int
chest=chronomancer_robes,id=99400,upgrade=4,gems=160exp_160crit_160exp_160crit_160exp_160crit_180int,enchant=80all
shirt=last_seasons_shirt,id=98091
wrists=scalebane_bracers,id=105494,upgrade=4,enchant=180int,reforge=hit_mastery
hands=chronomancer_gloves,id=99397,upgrade=4,gems=160exp_160crit_160exp_160crit_120int,enchant=170mastery,addon=synapse_springs_mark_ii,reforge=haste_mastery
waist=miasmic_skullbelt,id=104573,upgrade=4,gems=160exp_160crit_320crit_320crit_120int,addon=nitro_boosts,reforge=hit_mastery
legs=chronomancer_leggings,id=99399,upgrade=4,gems=320crit_320crit_120int,enchant=285int_165crit
feet=toxic_tornado_treads,id=105537,upgrade=4,gems=160crit_160hit_60hit,enchant=140mastery
finger1=signet_of_the_dinomancers,id=104610,upgrade=4,gems=320crit,reforge=haste_crit
finger2=petrified_pennyroyal_ring,id=104447,upgrade=4,reforge=hit_mastery
结果如下:dps197650,火冲个数0,炎爆个数91.5(爆率70.0%)
图 ...
关于怎样模拟火球1+1手法,请注意我在simulate代码里,炎爆的判断为:
actions+=/pyroblast,if=buff.pyroblast.up&buff.heating_up.up&action.fireball.in_flight
红色部分意思是,当有火球在空中飞时,表达式值为1,也就是说,炎爆只会在身上同时有热力,炎爆术!和有一发火球在空中飞时候才会丢
这样就实现了正确模拟1+1
你可以在代码最开始加入两行: log=1 output=1.log
然后在simC文件夹里找到1.log,阅读它跟阅读本文开始的log一样,很详细,这是由simC按照你设置的手法,模拟一场战斗生成的战斗记录
1+1手法模拟正确性的证明 ...
5.843 xxxx fireball hits Fluffy_Pillow for 266375 fire damage (crit)
5.843 xxxx loses heating_up-------------------------------------暴击后热力变炎爆
5.843 xxxx gains pyroblast_1 ( value=0.00 )
9.178 xxxx loses casting
9.928 xxxx fireball hits Fluffy_Pillow for 266375 fire damage (crit)
9.928 xxxx gains heating_up_1 ( value=0.00 )-----------------获得热力,此时为1+1
10.238 xxxx schedules execute for fireball----------------------优先级判断该读火球
10.238 xxxx gains casting_1 ( value=0.00 )
12.249 xxxx performs fireball (262599)--------开始读火球
12.249 [NEW] xxxx schedules travel (0.750) for fireball
12.249 xxxx loses casting----------------------------------------------------读条结束
12.299 xxxx schedules execute for pyroblast-------------------优先级判断该读炎爆
12.299 [NEW] xxxx schedules travel (0.750) for pyroblast
12.299 xxxx gains potent_flames_1 ( value=0.00 )
12.299 xxxx gains 749.83 haste_rating (temporary)
12.299 xxxx loses pyroblast
12.999 xxxx fireball hits Fluffy_Pillow for 266375 fire damage (crit)------火球命中
12.999 xxxx loses heating_up
12.999 xxxx gains pyroblast_1 ( value=0.00 )
13.049 xxxx pyroblast hits Fluffy_Pillow for 439521 fire damage (crit)----炎爆命中
13.049 xxxx gains heating_up_1 ( value=0.00 )------------------------此时身上1+1
13.682 xxxx schedules execute for fireball----------------------优先级判断该读火球
13.682 xxxx gains casting_1 ( value=0.00 )
15.660 xxxx performs fireball (256561)-------------------------------------读条结束
15.660 [NEW] xxxx schedules travel (0.750) for fireball
15.660 xxxx loses casting
15.693 xxxx schedules execute for pyroblast--------------------优先级判断该读炎爆
15.693 xxxx performs pyroblast (244561)
15.693 [NEW] xxxx schedules travel (0.750) for pyroblast
--------------比较A,B可以看出。。。1+1手法相对于0+1,只提高了1.83%dps。。。--------------
C. 代码:1+1手法,在1+0时加入火冲 ...
actions+=/evocation,if=(buff.invokers_energy.down|mana.pct<20)
actions+=/pyroblast,if=buff.pyroblast.up&buff.heating_up.up&action.fireball.in_flight
actions+=/inferno_blast,if=buff.heating_up.react&buff.pyroblast.down
actions+=/living_bomb,cycle_targets=1,if=(!ticking|remains<tick_time)&target.time_to_die>tick_time*3
actions+=/fireball
结果如下:dps201430,火冲个数8.9,炎爆个数98.1(爆率72.8%)
图 ...
D. 代码:1+1手法,在1+0时或者0+1(且没有火球在空中飞)时插入火冲 ...
actions+=/evocation,if=(buff.invokers_energy.down|mana.pct<20)
actions+=/pyroblast,if=buff.pyroblast.up&buff.heating_up.up&action.fireball.in_flight
actions+=/inferno_blast,if=buff.heating_up.react&buff.pyroblast.down
actions+=/inferno_blast,if=buff.heating_up.down&buff.pyroblast.react&!(action.fireball.in_flight)
actions+=/living_bomb,cycle_targets=1,if=(!ticking|remains<tick_time)&target.time_to_die>tick_time*3
actions+=/fireball
结果如下:结果:dps208991,火冲个数34.3,炎爆个数111.3(爆率79.2%)
图 ...
--------------比较C.D可以看出。。。在1+1出手后,只爆了一个变0+1,或者是1+0火球出手补炸弹后暴击变0+1,此时直接插入火冲。。。提高了3.75%dps--------------
E. 代码:关于火冲最终版 ...
actions+=/evocation,if=(buff.invokers_energy.down|mana.pct<20)
actions+=/pyroblast,if=buff.pyroblast.up&action.fireball.in_flight&cooldown.inferno_blast.remains<1----和上例区别:火冲cd<1s时,不打攒1+1,有炎爆就丢
actions+=/pyroblast,if=buff.pyroblast.up&buff.heating_up.up&action.fireball.in_flight
actions+=/inferno_blast,if=buff.heating_up.react&buff.pyroblast.down
actions+=/inferno_blast,if=buff.heating_up.down&buff.pyroblast.react&!(action.fireball.in_flight)
actions+=/living_bomb,cycle_targets=1,if=(!ticking|remains<tick_time)&target.time_to_die>tick_time*3
actions+=/fireball
----和上例区别:火冲cd<1s时,不打攒1+1,有炎爆就丢(置顶帖只提到补炸弹换新后,0+1时丢掉炎爆术,其实只要火冲可以,就可以丢,0+1火球+炎爆出手损失的远没有火冲提高次数对dps提升大
结果:dps210874,火冲个数40.4,炎爆个数114.1(爆率80.6%)
图 ...
这个意思是:当你手上0热力1炎爆,正在读火球,而且火冲cd<gcd,此火球读完后直接丢炎爆,不需要再读一个火球,攒1+1,拖后火冲使用时间
因为1+1火球+炎爆出手,不站近战位会很难获得使用火冲的机会的,总是这么处理,会使得一场战斗中火冲的次数大幅减少
平稳阶段各手法比较:

暴击越低,火冲优先级越高,58x双饰品触发时,火冲随缘就好不必特意关照