v0.8.0: bugfixes:

- fixed armored statues not dropping armor
- fixed tengu rarely throwing bombs into walls
This commit is contained in:
Evan Debenham 2019-12-13 21:00:51 -05:00
parent 9e43944bd4
commit cb76fb8188
2 changed files with 6 additions and 4 deletions

View File

@ -98,8 +98,10 @@ public class ArmoredStatue extends Statue {
} }
@Override @Override
public boolean isImmune(Class effect) { public void die( Object cause ) {
return super.isImmune(effect); armor.identify();
Dungeon.level.drop( armor, pos ).sprite.drop();
super.die( cause );
} }
@Override @Override

View File

@ -502,7 +502,7 @@ public class NewTengu extends Mob {
//Targets closest cell which is adjacent to target, and at least 3 tiles away //Targets closest cell which is adjacent to target, and at least 3 tiles away
for (int i : PathFinder.NEIGHBOURS8){ for (int i : PathFinder.NEIGHBOURS8){
int cell = target.pos + i; int cell = target.pos + i;
if (Dungeon.level.distance(cell, thrower.pos) >= 3){ if (Dungeon.level.distance(cell, thrower.pos) >= 3 && !Dungeon.level.solid[cell]){
if (targetCell == -1 || if (targetCell == -1 ||
Dungeon.level.trueDistance(cell, thrower.pos) < Dungeon.level.trueDistance(targetCell, thrower.pos)){ Dungeon.level.trueDistance(cell, thrower.pos) < Dungeon.level.trueDistance(targetCell, thrower.pos)){
targetCell = cell; targetCell = cell;
@ -866,7 +866,7 @@ public class NewTengu extends Mob {
//Targets closest cell which is adjacent to target, and not adjacent to thrower or another shocker //Targets closest cell which is adjacent to target, and not adjacent to thrower or another shocker
for (int i : PathFinder.NEIGHBOURS8){ for (int i : PathFinder.NEIGHBOURS8){
int cell = target.pos + i; int cell = target.pos + i;
if (Dungeon.level.distance(cell, thrower.pos) >= 2){ if (Dungeon.level.distance(cell, thrower.pos) >= 2 && !Dungeon.level.solid[cell]){
boolean validTarget = true; boolean validTarget = true;
for (ShockerAbility s : thrower.buffs(ShockerAbility.class)){ for (ShockerAbility s : thrower.buffs(ShockerAbility.class)){
if (Dungeon.level.distance(cell, s.shockerPos) < 2){ if (Dungeon.level.distance(cell, s.shockerPos) < 2){