v0.9.3: darkened and added a smoke effect to the shadow clone's sprite

This commit is contained in:
Evan Debenham 2021-06-02 16:05:54 -04:00
parent dd8a2700c7
commit ab8e9ba959
2 changed files with 37 additions and 10 deletions

View File

@ -45,6 +45,7 @@ import com.shatteredpixel.shatteredpixeldungeon.utils.BArray;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.noosa.TextureFilm; import com.watabou.noosa.TextureFilm;
import com.watabou.noosa.audio.Sample; import com.watabou.noosa.audio.Sample;
import com.watabou.noosa.particles.Emitter;
import com.watabou.noosa.tweeners.AlphaTweener; import com.watabou.noosa.tweeners.AlphaTweener;
import com.watabou.noosa.tweeners.Tweener; import com.watabou.noosa.tweeners.Tweener;
import com.watabou.utils.Bundle; import com.watabou.utils.Bundle;
@ -305,6 +306,8 @@ public class ShadowClone extends ArmorAbility {
public static class ShadowSprite extends MobSprite { public static class ShadowSprite extends MobSprite {
private Emitter smoke;
public ShadowSprite() { public ShadowSprite() {
super(); super();
@ -334,16 +337,40 @@ public class ShadowClone extends ArmorAbility {
} }
@Override @Override
public void link(Char ch) { public void resetColor() {
super.link(ch); super.resetColor();
renderShadow = false; alpha(0.8f);
brightness(0.0f);
} }
@Override @Override
public void resetColor() { public void link( Char ch ) {
super.resetColor(); super.link( ch );
alpha(0.6f); renderShadow = false;
brightness(0.0f);
if (smoke == null) {
smoke = emitter();
smoke.pour( CityLevel.Smoke.factory, 0.2f );
}
}
@Override
public void update() {
super.update();
if (smoke != null) {
smoke.visible = visible;
}
}
@Override
public void kill() {
super.kill();
if (smoke != null) {
smoke.on = false;
}
} }
} }
} }

View File

@ -160,11 +160,11 @@ public class CityLevel extends RegularLevel {
} }
} }
private static class Smoke extends Emitter { public static class Smoke extends Emitter {
private int pos; private int pos;
private static final Emitter.Factory factory = new Factory() { public static final Emitter.Factory factory = new Factory() {
@Override @Override
public void emit( Emitter emitter, int index, float x, float y ) { public void emit( Emitter emitter, int index, float x, float y ) {