>>665
コードは見た。
ええとね、DaggerCaluculate.calculateDamage()の引数に追加したisCriticalは要らないから削除してくれ。
(『calculateDamage: function (virtualActive, virtualPassive, damage, attackEntry, targetItem) {』にしてくれ)
その上で『if (isCritical) {とその次の行』を
『if (attackEntry.isCritical) {
rand = Math.floor(rand * DamageCalculator.getCriticalFactor());』に置き換えれば動く。

なんでかというと、引数のattackEntry内にisCriticalが格納されているんだわ。
attackEntryはただの変数じゃなくて内部に幾つかのデータを格納する事ができる、Cで言うところの構造体みたいなものなんだ。
(構造体が判らない時はググってくれ)
格納できるデータにどんなものがあるのかはsingleton-struct.jsの166-182行を参照すれば、なんとなくわかると思う。