v2.1.0: fixed bugs with action-stacking while using flurry

This commit is contained in:
Evan Debenham
2023-04-21 13:38:17 -04:00
parent 7948faf090
commit e9255998a7
@@ -388,14 +388,14 @@ public class SpiritBow extends Weapon {
} }
return; return;
} }
QuickSlotButton.target(enemy);
final boolean last = flurryCount == 1; QuickSlotButton.target(enemy);
user.busy(); user.busy();
throwSound(); throwSound();
user.sprite.zap(cell);
((MissileSprite) user.sprite.parent.recycle(MissileSprite.class)). ((MissileSprite) user.sprite.parent.recycle(MissileSprite.class)).
reset(user.sprite, reset(user.sprite,
cell, cell,
@@ -408,27 +408,6 @@ public class SpiritBow extends Weapon {
onThrow(cell); onThrow(cell);
} }
if (last) {
if (user.buff(Talent.LethalMomentumTracker.class) != null){
user.buff(Talent.LethalMomentumTracker.class).detach();
user.next();
} else {
user.spendAndNext(castDelay(user, dst));
}
sniperSpecial = false;
flurryCount = -1;
}
if (flurryActor != null){
flurryActor.next();
flurryActor = null;
}
}
});
user.sprite.zap(cell, new Callback() {
@Override
public void call() {
flurryCount--; flurryCount--;
if (flurryCount > 0){ if (flurryCount > 0){
Actor.add(new Actor() { Actor.add(new Actor() {
@@ -448,6 +427,20 @@ public class SpiritBow extends Weapon {
} }
}); });
curUser.next(); curUser.next();
} else {
if (user.buff(Talent.LethalMomentumTracker.class) != null){
user.buff(Talent.LethalMomentumTracker.class).detach();
user.next();
} else {
user.spendAndNext(castDelay(user, dst));
}
sniperSpecial = false;
flurryCount = -1;
}
if (flurryActor != null){
flurryActor.next();
flurryActor = null;
} }
} }
}); });