v0.6.2: several simple bugfixes:

- fixed fire not spreading in some cases
- fixed wand of corruption awarding exp at all levels
- fixed assassin bonus damage scaling incorrectly
- fixed sprites not retaining invisibility visuals in some cases
This commit is contained in:
Evan Debenham 2017-10-11 21:52:33 -04:00
parent 19d63aef60
commit deb626e279
5 changed files with 18 additions and 8 deletions

View File

@ -69,7 +69,7 @@ public class Fire extends Blob {
}
} else if (freeze == null || freeze.volume <= 0 || freeze.cur[cell] < 0) {
} else if (freeze == null || freeze.volume <= 0 || freeze.cur[cell] <= 0) {
if (flamable[cell]
&& (cur[cell-1] > 0

View File

@ -55,8 +55,8 @@ public class Preparation extends Buff implements ActionIndicator.Action {
LVL_1( 1, 0.1f, 0.0f, 1, 0),
LVL_2( 3, 0.2f, 0.0f, 1, 1),
LVL_3( 6, 0.3f, 0.0f, 2, 3),
LVL_4( 11, 0.4f, 0.4f, 2, 5),
LVL_5( 16, 0.6f, 0.6f, 3, 7);
LVL_4( 11, 0.4f, 0.6f, 2, 5),
LVL_5( 16, 0.5f, 1.0f, 3, 7);
final int turnsReq;
final float baseDmgBonus, missingHPBonus;
@ -80,7 +80,7 @@ public class Preparation extends Buff implements ActionIndicator.Action {
int newDmg = attacker.damageRoll();
if (newDmg > dmg) dmg = newDmg;
}
float defenderHPPercent = defender.HP / (float)defender.HT;
float defenderHPPercent = 1f - (defender.HP / (float)defender.HT);
return Math.round(dmg * (1f + baseDmgBonus + (missingHPBonus * defenderHPPercent)));
}

View File

@ -86,7 +86,7 @@ public abstract class Mob extends Char {
protected int defenseSkill = 0;
public int EXP = 1;
protected int maxLvl = Hero.MAX_LEVEL;
public int maxLvl = Hero.MAX_LEVEL;
protected Char enemy;
protected boolean enemySeen;

View File

@ -208,7 +208,7 @@ public class WandOfCorruption extends Wand {
buff.detach();
}
Buff.affect(enemy, Corruption.class);
if (enemy.EXP > 0) {
if (enemy.EXP > 0 && curUser.lvl <= enemy.maxLvl) {
curUser.sprite.showStatus(CharSprite.POSITIVE, Messages.get(enemy, "exp", enemy.EXP));
curUser.earnExp(enemy.EXP);
enemy.EXP = 0;

View File

@ -314,9 +314,11 @@ public class CharSprite extends MovieClip implements Tweener.Listener, MovieClip
levitation.pour( Speck.factory( Speck.JET ), 0.02f );
break;
case INVISIBLE:
if (invisible != null) {
invisible.killAndErase();
}
invisible = new AlphaTweener( this, 0.4f, 0.4f );
if (parent != null){
if (invisible != null) invisible.killAndErase();
invisible = new AlphaTweener( this, 0.4f, 0.4f );
parent.add(invisible);
} else
alpha( 0.4f );
@ -450,6 +452,14 @@ public class CharSprite extends MovieClip implements Tweener.Listener, MovieClip
}
}
@Override
public void resetColor() {
super.resetColor();
if (invisible != null){
alpha(0.4f);
}
}
public synchronized void showSleep() {
if (emo instanceof EmoIcon.Sleep) {