v0.2.3: Hourglass bugfixes & some tweaks.

This commit is contained in:
Evan Debenham 2014-12-11 22:06:38 -05:00
parent c2b9718581
commit 67a7bf0515
4 changed files with 26 additions and 9 deletions

View File

@ -31,6 +31,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroSubClass;
import com.shatteredpixel.shatteredpixeldungeon.effects.Wound;
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.TimekeepersHourglass;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfAccuracy;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfWealth;
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
@ -256,8 +257,15 @@ public abstract class Mob extends Char {
return false;
}
}
@Override
@Override
public void updateSpriteState() {
super.updateSpriteState();
if (Dungeon.hero.buff(TimekeepersHourglass.timeFreeze.class) != null)
sprite.add( CharSprite.State.PARALYSED );
}
@Override
public void move( int step ) {
super.move( step );

View File

@ -253,23 +253,30 @@ public class TimekeepersHourglass extends Artifact {
}
public void delayedPress(int cell){
public void setDelayedPress(int cell){
if (!presses.contains(cell))
presses.add(cell);
}
public void triggerPresses(){
for (int cell : presses)
Dungeon.level.press(cell, null);
presses = new ArrayList<Integer>();
}
@Override
public boolean attachTo(Char target) {
for (Mob mob : Dungeon.level.mobs.toArray(new Mob[0]))
mob.sprite.add(CharSprite.State.PARALYSED);
if (Dungeon.level != null)
for (Mob mob : Dungeon.level.mobs.toArray(new Mob[0]))
mob.sprite.add(CharSprite.State.PARALYSED);
GameScene.freezeEmitters = true;
return super.attachTo(target);
}
@Override
public void detach(){
for (int cell : presses)
Dungeon.level.press(cell, null);
triggerPresses();
for (Mob mob : Dungeon.level.mobs.toArray(new Mob[0]))
mob.sprite.remove(CharSprite.State.PARALYSED);
GameScene.freezeEmitters = false;

View File

@ -781,7 +781,7 @@ public abstract class Level implements Bundlable {
Level.set( cell, Terrain.discover( map[cell] ) );
GameScene.updateMap( cell );
timeFreeze.delayedPress(cell);
timeFreeze.setDelayedPress( cell );
}

View File

@ -298,7 +298,9 @@ public class GameScene extends PixelScene {
public void destroy() {
scene = null;
freezeEmitters = false;
scene = null;
Badges.saveGlobal();
super.destroy();