v2.4.0: fixed cases where lucky enchant wouldn't proc on killing blows

This commit is contained in:
Evan Debenham
2024-02-25 13:03:20 -05:00
parent e8c824e6eb
commit 89fe77784e

View File

@@ -43,13 +43,19 @@ public class Lucky extends Weapon.Enchantment {
// lvl 1 ~ 12%
// lvl 2 ~ 14%
float procChance = (level+4f)/(level+40f) * procChanceMultiplier(attacker);
if (defender.HP <= damage && Random.Float() < procChance){
if (Random.Float() < procChance){
float powerMulti = Math.max(1f, procChance);
//default is -5: 80% common, 20% uncommon, 0% rare
//ring level increases by 1 for each 20% above 100% proc rate
Buff.affect(defender, LuckProc.class).ringLevel = -10 + Math.round(5*powerMulti);
} else {
//in rare cases where we attack many times at once (e.g. gladiator fury)
// make sure that failed luck procs override prior succeeded ones
if (defender.buff(LuckProc.class) != null){
defender.buff(LuckProc.class).detach();
}
}
return damage;