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,39 +1173,34 @@ 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);
ExtraAttackOptions opts; if (MakeRandomInt(0, 99) < flurry_chance) {
int cur = GetSpecialAbilityParam(SPECATK_FLURRY, 2); ExtraAttackOptions opts;
if(cur > 0) { int cur = GetSpecialAbilityParam(SPECATK_FLURRY, 2);
opts.damage_percent = cur / 100.0f; if (cur > 0)
} 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()) {