diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfTeleportation.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfTeleportation.java index 3c12a219f..fa6996d47 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfTeleportation.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfTeleportation.java @@ -290,6 +290,22 @@ public class ScrollOfTeleportation extends Scroll { ch.sprite.emitter().start(Speck.factory(Speck.LIGHT), 0.2f, 3); } } + + //just plays the VFX for teleporting, without any position changes + public static void appearVFX( Char ch ){ + if (Dungeon.level.heroFOV[ch.pos]){ + Sample.INSTANCE.play(Assets.Sounds.TELEPORT); + } + + if (ch.invisible == 0) { + ch.sprite.alpha( 0 ); + ch.sprite.parent.add( new AlphaTweener( ch.sprite, 1, 0.4f ) ); + } + + if (Dungeon.level.heroFOV[ch.pos]) { + ch.sprite.emitter().start(Speck.factory(Speck.LIGHT), 0.2f, 3); + } + } @Override public int value() { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java index ad718f355..2caa34368 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java @@ -407,12 +407,12 @@ public class GameScene extends PixelScene { switch (InterlevelScene.mode) { case RESURRECT: Sample.INSTANCE.play(Assets.Sounds.TELEPORT); - ScrollOfTeleportation.appear( Dungeon.hero, Dungeon.hero.pos ); + ScrollOfTeleportation.appearVFX( Dungeon.hero ); SpellSprite.show(Dungeon.hero, SpellSprite.ANKH); new Flare( 5, 16 ).color( 0xFFFF00, true ).show( hero, 4f ) ; break; case RETURN: - ScrollOfTeleportation.appear( Dungeon.hero, Dungeon.hero.pos ); + ScrollOfTeleportation.appearVFX( Dungeon.hero ); break; case DESCEND: case FALL: