v3.2.0: fixed new thrown weapon delay change triggering on aim pos

This commit is contained in:
Evan Debenham
2025-07-30 13:02:57 -04:00
parent ef0409a094
commit 4f221070b9
4 changed files with 10 additions and 11 deletions

View File

@@ -646,7 +646,7 @@ public class Item implements Bundlable {
Char enemy = Actor.findChar( cell );
QuickSlotButton.target(enemy);
final float delay = castDelay(user, dst);
final float delay = castDelay(user, cell);
if (enemy != null) {
((MissileSprite) user.sprite.parent.recycle(MissileSprite.class)).
@@ -694,7 +694,7 @@ public class Item implements Bundlable {
}
}
public float castDelay( Char user, int dst ){
public float castDelay( Char user, int cell ){
return TIME_TO_THROW;
}

View File

@@ -387,7 +387,7 @@ public class SpiritBow extends Weapon {
user.buff(Talent.LethalMomentumTracker.class).detach();
user.next();
} else {
user.spendAndNext(castDelay(user, dst));
user.spendAndNext(castDelay(user, cell));
}
sniperSpecial = false;
flurryCount = -1;
@@ -442,7 +442,7 @@ public class SpiritBow extends Weapon {
user.buff(Talent.LethalMomentumTracker.class).detach();
user.next();
} else {
user.spendAndNext(castDelay(user, dst));
user.spendAndNext(castDelay(user, cell));
}
sniperSpecial = false;
flurryCount = -1;

View File

@@ -59,12 +59,12 @@ public class ForceCube extends MissileWeapon {
}
@Override
public float castDelay(Char user, int dst) {
public float castDelay(Char user, int cell) {
//special rules as throwing this onto empty space or yourself does trigger it
if (!Dungeon.level.pit[dst] && Actor.findChar(dst) == null){
if (!Dungeon.level.pit[cell] && Actor.findChar(cell) == null){
return delayFactor( user );
} else {
return super.castDelay(user, dst);
return super.castDelay(user, cell);
}
}

View File

@@ -391,12 +391,11 @@ abstract public class MissileWeapon extends Weapon {
}
@Override
public float castDelay(Char user, int dst) {
if (Actor.findChar(dst) != null && Actor.findChar(dst) != user){
//TODO force cube
public float castDelay(Char user, int cell) {
if (Actor.findChar(cell) != null && Actor.findChar(cell) != user){
return delayFactor( user );
} else {
return super.castDelay(user, dst);
return super.castDelay(user, cell);
}
}