如图所示,我使用EXCEL表来模拟计算英雄的施法次数,假设英雄的施法前摇(即是施法时间)为0.35s。
HERO A没有使用多重施法,HERO B使用了多重施法,他们施放技能的冷却均为10.5s。
每0.35s进行一次计数统计英雄状态。
从左到右表示的为:
如hero state count为1时,英雄处于施法中的状态,如hero state count为0时,英雄处于待命的状态。
(首先忽略英雄的攻击前摇和后摇,因为英雄处于攻击状态时,攻击前摇和后摇对施法略有影响)
spelling count数量代表总计施法次数。
time表示游戏过去时间,每0.35s进行一次计数,我设定统计1800s即30分钟的时间,所以最后数值该处为1800。
assist为随机数辅助,我设定为生成1个0到100的随机数,假设刷技能概率为80%,那么可以认为随机数roll到0-79时均符合刷新条件,done设为1,随机数roll到80-100时,done设为0。若为HERO B还要计算当前施法次数是否符合4的倍数,若当前施法次数为4的倍数,必定触发刷新,即将done强制设定为1。
done表示此次施法是否符合刷新条件,1即符合,0即不符合。
Cding为done的相反数,好像没用上。
cooling count为没触发刷新时冷却的计算时间,计算30次,即0.35s*30=10.5s,期间英雄不做任何事件直到冷却完成。