v0.9.3b: Stones of flock are now also trigger before pressing cells

This commit is contained in:
Evan Debenham 2021-06-16 21:08:06 -04:00
parent 73ca7b5354
commit b01a79283a
3 changed files with 10 additions and 13 deletions

View File

@ -33,12 +33,15 @@ public abstract class Runestone extends Item {
defaultAction = AC_THROW; defaultAction = AC_THROW;
} }
//runestones press the cell they're thrown to by default, but a couple stones override this
protected boolean pressesCell = true;
@Override @Override
protected void onThrow(int cell) { protected void onThrow(int cell) {
if (Dungeon.level.pit[cell] || !defaultAction.equals(AC_THROW)){ if (Dungeon.level.pit[cell] || !defaultAction.equals(AC_THROW)){
super.onThrow( cell ); super.onThrow( cell );
} else { } else {
Dungeon.level.pressCell( cell ); if (pressesCell) Dungeon.level.pressCell( cell );
activate(cell); activate(cell);
Invisibility.dispel(); Invisibility.dispel();
} }

View File

@ -43,18 +43,9 @@ public class StoneOfDisarming extends Runestone {
{ {
image = ItemSpriteSheet.STONE_DISARM; image = ItemSpriteSheet.STONE_DISARM;
}
@Override //so traps do not activate before the effect
protected void onThrow(int cell) { pressesCell = false;
//This runestone uniquely presses cells after its effect resolves, instead of before
if (Dungeon.level.pit[cell] || !defaultAction.equals(AC_THROW)){
super.onThrow( cell );
} else {
activate(cell);
Invisibility.dispel();
Dungeon.level.pressCell( cell );
}
} }
@Override @Override

View File

@ -37,6 +37,9 @@ public class StoneOfFlock extends Runestone {
{ {
image = ItemSpriteSheet.STONE_FLOCK; image = ItemSpriteSheet.STONE_FLOCK;
//the sheep will press the cell instead
pressesCell = false;
} }
@Override @Override