Only build flurry attack opts on success

This commit is contained in:
Michael Cook (mackal) 2014-02-17 19:38:37 -05:00
parent 169b9161b9
commit 53a14381ba

View File

@ -1173,40 +1173,35 @@ void Mob::AI_Process() {
int flurry_chance = GetSpecialAbilityParam(SPECATK_FLURRY, 0); int flurry_chance = GetSpecialAbilityParam(SPECATK_FLURRY, 0);
flurry_chance = flurry_chance > 0 ? flurry_chance : RuleI(Combat, NPCFlurryChance); flurry_chance = flurry_chance > 0 ? flurry_chance : RuleI(Combat, NPCFlurryChance);
if (MakeRandomInt(0, 99) < flurry_chance) {
ExtraAttackOptions opts; ExtraAttackOptions opts;
int cur = GetSpecialAbilityParam(SPECATK_FLURRY, 2); int cur = GetSpecialAbilityParam(SPECATK_FLURRY, 2);
if(cur > 0) { if (cur > 0)
opts.damage_percent = cur / 100.0f; opts.damage_percent = cur / 100.0f;
}
cur = GetSpecialAbilityParam(SPECATK_FLURRY, 3); cur = GetSpecialAbilityParam(SPECATK_FLURRY, 3);
if(cur > 0) { if (cur > 0)
opts.damage_flat = cur; opts.damage_flat = cur;
}
cur = GetSpecialAbilityParam(SPECATK_FLURRY, 4); cur = GetSpecialAbilityParam(SPECATK_FLURRY, 4);
if(cur > 0) { if (cur > 0)
opts.armor_pen_percent = cur / 100.0f; opts.armor_pen_percent = cur / 100.0f;
}
cur = GetSpecialAbilityParam(SPECATK_FLURRY, 5); cur = GetSpecialAbilityParam(SPECATK_FLURRY, 5);
if(cur > 0) { if (cur > 0)
opts.armor_pen_flat = cur; opts.armor_pen_flat = cur;
}
cur = GetSpecialAbilityParam(SPECATK_FLURRY, 6); cur = GetSpecialAbilityParam(SPECATK_FLURRY, 6);
if(cur > 0) { if (cur > 0)
opts.crit_percent = cur / 100.0f; opts.crit_percent = cur / 100.0f;
}
cur = GetSpecialAbilityParam(SPECATK_FLURRY, 7); cur = GetSpecialAbilityParam(SPECATK_FLURRY, 7);
if(cur > 0) { if (cur > 0)
opts.crit_flat = cur; opts.crit_flat = cur;
}
if (MakeRandomInt(0, 99) < flurry_chance)
Flurry(&opts); Flurry(&opts);
} }
}
if (IsPet()) { if (IsPet()) {