v0.8.2c: fixed visual errors caused by terror, and made eyes not immune

This commit is contained in:
Evan Debenham 2020-08-25 14:13:39 -04:00
parent f8aebee09b
commit fc99ba31e3
2 changed files with 16 additions and 4 deletions
core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs

View File

@ -25,7 +25,6 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor; import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Light; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Light;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Terror;
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter; import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.PurpleParticle; import com.shatteredpixel.shatteredpixeldungeon.effects.particles.PurpleParticle;
import com.shatteredpixel.shatteredpixeldungeon.items.Dewdrop; import com.shatteredpixel.shatteredpixeldungeon.items.Dewdrop;
@ -104,6 +103,7 @@ public class Eye extends Mob {
protected boolean act() { protected boolean act() {
if (beamCharged && state != HUNTING){ if (beamCharged && state != HUNTING){
beamCharged = false; beamCharged = false;
sprite.idle();
} }
if (beam == null && beamTarget != -1) { if (beam == null && beamTarget != -1) {
beam = new Ballistica(pos, beamTarget, Ballistica.STOP_TERRAIN); beam = new Ballistica(pos, beamTarget, Ballistica.STOP_TERRAIN);
@ -243,7 +243,7 @@ public class Eye extends Mob {
} }
{ {
immunities.add( Terror.class ); //immunities.add( Terror.class );
} }
private class Hunting extends Mob.Hunting{ private class Hunting extends Mob.Hunting{

View File

@ -71,7 +71,16 @@ public class Necromancer extends Mob {
private NecroSkeleton mySkeleton; private NecroSkeleton mySkeleton;
private int storedSkeletonID = -1; private int storedSkeletonID = -1;
@Override
protected boolean act() {
if (summoning && state != HUNTING){
summoning = false;
updateSpriteState();
}
return super.act();
}
@Override @Override
public void updateSpriteState() { public void updateSpriteState() {
super.updateSpriteState(); super.updateSpriteState();
@ -80,6 +89,9 @@ public class Necromancer extends Mob {
summoningEmitter = CellEmitter.get( summoningPos ); summoningEmitter = CellEmitter.get( summoningPos );
summoningEmitter.pour(Speck.factory(Speck.RATTLE), 0.2f); summoningEmitter.pour(Speck.factory(Speck.RATTLE), 0.2f);
sprite.zap( summoningPos ); sprite.zap( summoningPos );
} else if (!summoning && summoningEmitter != null){
summoningEmitter.on = false;
summoningEmitter = null;
} }
} }
@ -115,7 +127,7 @@ public class Necromancer extends Mob {
} }
if (summoningEmitter != null){ if (summoningEmitter != null){
summoningEmitter.killAndErase(); summoningEmitter.on = false;
summoningEmitter = null; summoningEmitter = null;
} }