v1.4.2: fixed cases where spinners would fail to shoot webs

This commit is contained in:
Evan Debenham
2022-10-27 13:33:52 -04:00
parent e4bb557911
commit 905ac23041

View File

@@ -132,13 +132,15 @@ public class Spinner extends Mob {
}
private boolean shotWebVisually = false;
private int visualWebPos = -1;
@Override
public void move(int step, boolean travelling) {
if (travelling && enemySeen && webCoolDown <= 0 && lastEnemyPos != -1){
if (webPos() != -1){
if (sprite != null && (sprite.visible || enemy.sprite.visible)) {
sprite.zap( webPos() );
visualWebPos = webPos();
sprite.zap(visualWebPos);
shotWebVisually = true;
} else {
shootWeb();
@@ -150,9 +152,13 @@ public class Spinner extends Mob {
public int webPos(){
if (visualWebPos != -1){
return visualWebPos;
}
Char enemy = this.enemy;
if (enemy == null) return -1;
Ballistica b;
//aims web in direction enemy is moving, or between self and enemy if they aren't moving
if (lastEnemyPos == enemy.pos){
@@ -210,6 +216,7 @@ public class Spinner extends Mob {
if (Dungeon.level.heroFOV[enemy.pos]){
Dungeon.hero.interrupt();
}
visualWebPos = -1;
}
next();
}