@Override public void execute(Hero hero, String action ) { super.execute(hero, action); if (action.equals(AC_BREW)){ if (!isEquipped(hero)) GLog.i( Messages.get(this, "need_to_equip") ); else if (cursed) GLog.w( Messages.get(this, "cursed") ); else if (!alchemyReady) GLog.i( Messages.get(this, "not_ready") ); else if (hero.visibleEnemies() > hero.mindVisionEnemies.size()) GLog.i( Messages.get(this, "enemy_near") ); else { AlchemyScene.setProvider(hero.buff(kitEnergy.class)); Game.switchScene(AlchemyScene.class); } } }
@Override public void execute(Hero hero, String action ) { super.execute(hero, action); if (action.equals(AC_BREW)){ if (!isEquipped(hero)) GLog.i( Messages.get(this, "need_to_equip") ); else if (cursed) GLog.w( Messages.get(this, "cursed") ); else if (!alchemyReady) GLog.i( Messages.get(this, "not_ready") ); else if (hero.visibleEnemies() > hero.mindVisionEnemies.size()) GLog.i( Messages.get(this, "enemy_near") ); else { AlchemyScene.setProvider(hero.buff(kitEnergy.class)); Game.switchScene(AlchemyScene.class); } } }
@Override public void execute(Hero hero, String action ) { super.execute(hero, action); if (action.equals(AC_PRICK)){ int damage = 3*(level()*level()); if (damage > hero.HP*0.75) { GameScene.show( new WndOptions(Messages.titleCase(Messages.get(this, "name")), Messages.get(this, "prick_warn"), Messages.get(this, "yes"), Messages.get(this, "no")) { @Override protected void onSelect(int index) { if (index == 0) prick(Dungeon.hero); } } ); } else { prick(hero); } } }
@Override public void execute(Hero hero, String action ) { super.execute(hero, action); if (action.equals(AC_PRICK)){ int damage = 3*(level()*level()); if (damage > hero.HP*0.75) { GameScene.show( new WndOptions(Messages.titleCase(Messages.get(this, "name")), Messages.get(this, "prick_warn"), Messages.get(this, "yes"), Messages.get(this, "no")) { @Override protected void onSelect(int index) { if (index == 0) prick(Dungeon.hero); } } ); } else { prick(hero); } } }
@Override public void execute(Hero hero, String action) { super.execute(hero, action); if (action.equals(AC_CAST)){ curUser = hero; if (!isEquipped( hero )) { GLog.i( Messages.get(Artifact.class, "need_to_equip") ); QuickSlotButton.cancel(); } else if (charge < 1) { GLog.i( Messages.get(this, "no_charge") ); QuickSlotButton.cancel(); } else if (cursed) { GLog.w( Messages.get(this, "cursed") ); QuickSlotButton.cancel(); } else { GameScene.selectCell(caster); } } }
@Override public void execute( Hero hero, String action ) { super.execute(hero, action); if (action.equals(AC_FEED)){ GameScene.selectItem(itemSelector, mode, Messages.get(this, "prompt")); } else if (action.equals(AC_ROOT) && level() > 0){ if (!isEquipped( hero )) GLog.i( Messages.get(Artifact.class, "need_to_equip") ); else if (charge == 0) GLog.i( Messages.get(this, "no_charge") ); else { Buff.prolong(hero, Roots.class, 5); Buff.affect(hero, Earthroot.Armor.class).level(charge); CellEmitter.bottom(hero.pos).start(EarthParticle.FACTORY, 0.05f, 8); Camera.main.shake(1, 0.4f); charge = 0; updateQuickslot(); } } }
@Override public void execute(Hero hero, String action) { super.execute(hero, action); if (action.equals(AC_CAST)){ curUser = hero; if (!isEquipped( hero )) { GLog.i( Messages.get(Artifact.class, "need_to_equip") ); QuickSlotButton.cancel(); } else if (charge < 1) { GLog.i( Messages.get(this, "no_charge") ); QuickSlotButton.cancel(); } else if (cursed) { GLog.w( Messages.get(this, "cursed") ); QuickSlotButton.cancel(); } else { GameScene.selectCell(caster); } } }
@Override public void execute( Hero hero, String action ) { super.execute(hero, action); if (action.equals(AC_FEED)){ GameScene.selectItem(itemSelector, mode, Messages.get(this, "prompt")); } else if (action.equals(AC_ROOT) && level() > 0){ if (!isEquipped( hero )) GLog.i( Messages.get(Artifact.class, "need_to_equip") ); else if (charge == 0) GLog.i( Messages.get(this, "no_charge") ); else { Buff.prolong(hero, Roots.class, 5); Buff.affect(hero, Earthroot.Armor.class).level(charge); CellEmitter.bottom(hero.pos).start(EarthParticle.FACTORY, 0.05f, 8); Camera.main.shake(1, 0.4f); charge = 0; updateQuickslot(); } } }
@Override public void execute( Hero hero, String action ) { super.execute( hero, action );
@Override public void execute( Hero hero, String action ) { super.execute(hero, action);
@Override public void execute( Hero hero, String action ) { super.execute(hero, action);
@Override public void execute( Hero hero, String action ) { super.execute(hero, action); if (action.equals(AC_SCRY)){ if (!isEquipped(hero)) GLog.i( Messages.get(Artifact.class, "need_to_equip") ); else if (charge != chargeCap) GLog.i( Messages.get(this, "no_charge") ); else { hero.sprite.operate(hero.pos); hero.busy(); Sample.INSTANCE.play(Assets.SND_BEACON); charge = 0; for (int i = 0; i < Dungeon.level.length(); i++) { int terr = Dungeon.level.map[i]; if ((Terrain.flags[terr] & Terrain.SECRET) != 0) { GameScene.updateMap(i); if (Dungeon.level.heroFOV[i]) { GameScene.discoverTile(i, terr); } } } GLog.p( Messages.get(this, "scry") ); updateQuickslot(); Buff.affect(hero, Awareness.class, Awareness.DURATION); Dungeon.observe(); } } }
@Override public void execute( Hero hero, String action ) { super.execute(hero, action); if (action.equals(AC_SCRY)){ if (!isEquipped(hero)) GLog.i( Messages.get(Artifact.class, "need_to_equip") ); else if (charge != chargeCap) GLog.i( Messages.get(this, "no_charge") ); else { hero.sprite.operate(hero.pos); hero.busy(); Sample.INSTANCE.play(Assets.SND_BEACON); charge = 0; for (int i = 0; i < Dungeon.level.length(); i++) { int terr = Dungeon.level.map[i]; if ((Terrain.flags[terr] & Terrain.SECRET) != 0) { GameScene.updateMap(i); if (Dungeon.level.heroFOV[i]) { GameScene.discoverTile(i, terr); } } } GLog.p( Messages.get(this, "scry") ); updateQuickslot(); Buff.affect(hero, Awareness.class, Awareness.DURATION); Dungeon.observe(); } } }
@Override public void execute( Hero hero, String action ) { super.execute(hero, action);
@Override public void execute( Hero hero, String action ) { super.execute(hero, action);
@Override public void execute( Hero hero, String action ) { super.execute(hero, action);
@Override public void execute( Hero hero, String action ) { super.execute(hero, action);
@Override public void execute( Hero hero, String action ) { super.execute(hero, action);
@Override public void execute( Hero hero, String action ) { super.execute(hero, action);
@Override public void execute( Hero hero, String action ) { super.execute( hero, action );