v0.7.1: Fixed:
- buffs retaining target after failing to attach - tengu incorrectly not pausing acting in some cases - being able to carry partial turns between floors (they are spent now) - quickslot failing to update correctly when thrown weapons are upgraded - time to drop taking 1/2 turn for no reason - circle arc using a gradient for no reason
This commit is contained in:
parent
3474ec95cc
commit
72661657d2
|
@ -66,6 +66,10 @@ public abstract class Actor implements Bundlable {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void spendToWhole(){
|
||||||
|
time = (float)Math.ceil(time);
|
||||||
|
}
|
||||||
|
|
||||||
protected void postpone( float time ) {
|
protected void postpone( float time ) {
|
||||||
if (this.time < now + time) {
|
if (this.time < now + time) {
|
||||||
this.time = now + time;
|
this.time = now + time;
|
||||||
|
@ -157,7 +161,7 @@ public abstract class Actor implements Bundlable {
|
||||||
if (Dungeon.hero != null && all.contains( Dungeon.hero )) {
|
if (Dungeon.hero != null && all.contains( Dungeon.hero )) {
|
||||||
Statistics.duration += (int)now;
|
Statistics.duration += (int)now;
|
||||||
}
|
}
|
||||||
now = 0;
|
now = now % 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void init() {
|
public static void init() {
|
||||||
|
|
|
@ -69,9 +69,11 @@ public class Buff extends Actor {
|
||||||
if (target.buffs().contains(this)){
|
if (target.buffs().contains(this)){
|
||||||
if (target.sprite != null) fx( true );
|
if (target.sprite != null) fx( true );
|
||||||
return true;
|
return true;
|
||||||
} else
|
} else {
|
||||||
|
this.target = null;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void detach() {
|
public void detach() {
|
||||||
if (target.sprite != null) fx( false );
|
if (target.sprite != null) fx( false );
|
||||||
|
|
|
@ -164,7 +164,7 @@ public class Tengu extends Mob {
|
||||||
Dungeon.hero.resting = false;
|
Dungeon.hero.resting = false;
|
||||||
sprite.attack( enemy.pos );
|
sprite.attack( enemy.pos );
|
||||||
spend( attackDelay() );
|
spend( attackDelay() );
|
||||||
return true;
|
return !Dungeon.level.adjacent(pos, enemy.pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void jump() {
|
private void jump() {
|
||||||
|
|
|
@ -59,8 +59,7 @@ public class CircleArc extends Visual {
|
||||||
|
|
||||||
super( 0, 0, 0, 0 );
|
super( 0, 0, 0, 0 );
|
||||||
|
|
||||||
int gradient[] = {0xFFFFFFFF, 0xFFFFFFFF};
|
texture = TextureCache.createSolid( 0xFFFFFFFF );
|
||||||
texture = TextureCache.createGradient( gradient );
|
|
||||||
|
|
||||||
this.nTris = triangles;
|
this.nTris = triangles;
|
||||||
this.rad = radius;
|
this.rad = radius;
|
||||||
|
|
|
@ -58,7 +58,7 @@ public class Item implements Bundlable {
|
||||||
|
|
||||||
protected static final float TIME_TO_THROW = 1.0f;
|
protected static final float TIME_TO_THROW = 1.0f;
|
||||||
protected static final float TIME_TO_PICK_UP = 1.0f;
|
protected static final float TIME_TO_PICK_UP = 1.0f;
|
||||||
protected static final float TIME_TO_DROP = 0.5f;
|
protected static final float TIME_TO_DROP = 1.0f;
|
||||||
|
|
||||||
public static final String AC_DROP = "DROP";
|
public static final String AC_DROP = "DROP";
|
||||||
public static final String AC_THROW = "THROW";
|
public static final String AC_THROW = "THROW";
|
||||||
|
|
|
@ -109,6 +109,7 @@ abstract public class MissileWeapon extends Weapon {
|
||||||
if (upgraded.quantity() == 1 && !upgraded.collect()) {
|
if (upgraded.quantity() == 1 && !upgraded.collect()) {
|
||||||
Dungeon.level.drop(upgraded, Dungeon.hero.pos);
|
Dungeon.level.drop(upgraded, Dungeon.hero.pos);
|
||||||
}
|
}
|
||||||
|
updateQuickslot();
|
||||||
return upgraded;
|
return upgraded;
|
||||||
} else {
|
} else {
|
||||||
durability = MAX_DURABILITY;
|
durability = MAX_DURABILITY;
|
||||||
|
@ -119,6 +120,7 @@ abstract public class MissileWeapon extends Weapon {
|
||||||
detach(Dungeon.hero.belongings.backpack);
|
detach(Dungeon.hero.belongings.backpack);
|
||||||
return similar.merge(this);
|
return similar.merge(this);
|
||||||
}
|
}
|
||||||
|
updateQuickslot();
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -193,6 +193,11 @@ public class InterlevelScene extends PixelScene {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
if (Dungeon.hero != null){
|
||||||
|
Dungeon.hero.spendToWhole();
|
||||||
|
}
|
||||||
|
Actor.fixTime();
|
||||||
|
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case DESCEND:
|
case DESCEND:
|
||||||
descend();
|
descend();
|
||||||
|
@ -308,8 +313,6 @@ public class InterlevelScene extends PixelScene {
|
||||||
|
|
||||||
private void descend() throws IOException {
|
private void descend() throws IOException {
|
||||||
|
|
||||||
Actor.fixTime();
|
|
||||||
|
|
||||||
if (Dungeon.hero == null) {
|
if (Dungeon.hero == null) {
|
||||||
DriedRose.clearHeldGhostHero();
|
DriedRose.clearHeldGhostHero();
|
||||||
Dungeon.init();
|
Dungeon.init();
|
||||||
|
@ -335,7 +338,6 @@ public class InterlevelScene extends PixelScene {
|
||||||
|
|
||||||
private void fall() throws IOException {
|
private void fall() throws IOException {
|
||||||
|
|
||||||
Actor.fixTime();
|
|
||||||
DriedRose.holdGhostHero( Dungeon.level );
|
DriedRose.holdGhostHero( Dungeon.level );
|
||||||
|
|
||||||
Buff.affect( Dungeon.hero, Chasm.Falling.class );
|
Buff.affect( Dungeon.hero, Chasm.Falling.class );
|
||||||
|
@ -353,7 +355,6 @@ public class InterlevelScene extends PixelScene {
|
||||||
|
|
||||||
private void ascend() throws IOException {
|
private void ascend() throws IOException {
|
||||||
|
|
||||||
Actor.fixTime();
|
|
||||||
DriedRose.holdGhostHero( Dungeon.level );
|
DriedRose.holdGhostHero( Dungeon.level );
|
||||||
|
|
||||||
Dungeon.saveAll();
|
Dungeon.saveAll();
|
||||||
|
@ -364,7 +365,6 @@ public class InterlevelScene extends PixelScene {
|
||||||
|
|
||||||
private void returnTo() throws IOException {
|
private void returnTo() throws IOException {
|
||||||
|
|
||||||
Actor.fixTime();
|
|
||||||
DriedRose.holdGhostHero( Dungeon.level );
|
DriedRose.holdGhostHero( Dungeon.level );
|
||||||
|
|
||||||
Dungeon.saveAll();
|
Dungeon.saveAll();
|
||||||
|
@ -375,7 +375,6 @@ public class InterlevelScene extends PixelScene {
|
||||||
|
|
||||||
private void restore() throws IOException {
|
private void restore() throws IOException {
|
||||||
|
|
||||||
Actor.fixTime();
|
|
||||||
DriedRose.clearHeldGhostHero();
|
DriedRose.clearHeldGhostHero();
|
||||||
|
|
||||||
GameLog.wipe();
|
GameLog.wipe();
|
||||||
|
@ -392,7 +391,6 @@ public class InterlevelScene extends PixelScene {
|
||||||
|
|
||||||
private void resurrect() throws IOException {
|
private void resurrect() throws IOException {
|
||||||
|
|
||||||
Actor.fixTime();
|
|
||||||
DriedRose.holdGhostHero( Dungeon.level );
|
DriedRose.holdGhostHero( Dungeon.level );
|
||||||
|
|
||||||
if (Dungeon.level.locked) {
|
if (Dungeon.level.locked) {
|
||||||
|
@ -408,7 +406,6 @@ public class InterlevelScene extends PixelScene {
|
||||||
|
|
||||||
private void reset() throws IOException {
|
private void reset() throws IOException {
|
||||||
|
|
||||||
Actor.fixTime();
|
|
||||||
DriedRose.holdGhostHero( Dungeon.level );
|
DriedRose.holdGhostHero( Dungeon.level );
|
||||||
|
|
||||||
SpecialRoom.resetPitRoom(Dungeon.depth+1);
|
SpecialRoom.resetPitRoom(Dungeon.depth+1);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user