@Override public void onComplete(Animation anim) { super.onComplete(anim); if (visible && emitter != null && anim == idle) { emitter.burst(Speck.factory(Speck.FORGE), 3); float volume = 0.2f / (Level.distance(ch.pos, Dungeon.hero.pos)); Sample.INSTANCE.play(Assets.SND_EVOKE, volume, volume, 0.8f); } }
@Override public void onComplete(Animation anim) { if (anim == zap) { idle(); } super.onComplete(anim); }
@Override public void onComplete(Animation anim) { super.onComplete(anim); if (anim == attack) { if (Dungeon.visible[ch.pos] || Dungeon.visible[attackPos]) { parent.add(new Beam.DeathRay(center(), DungeonTilemap.tileCenterToWorld(attackPos))); } } }
@Override public void onComplete(Animation anim) { if (anim == zap) { idle(); ((MissileSprite) parent.recycle(MissileSprite.class)) .reset( ch.pos, cellToAttack, new Dart(), new Callback() { @Override public void call() { ch.onAttackComplete(); } }); } else { super.onComplete(anim); } }
@Override public void onComplete(Animation anim) { if (anim == attack) { Sample.INSTANCE.play(Assets.SND_ZAP); MagicMissile.shadow( parent, ch.pos, posToShoot, new Callback() { @Override public void call() { ch.onAttackComplete(); } }); idle(); } else { super.onComplete(anim); } }
@Override public void onComplete(Animation anim) { super.onComplete(anim == kick ? attack : anim); }