v0.3.3: fixed bugs with rot heard and lashers

This commit is contained in:
Evan Debenham 2015-12-16 22:31:43 -05:00
parent 108fd0085d
commit 64df321aa1
2 changed files with 16 additions and 13 deletions

View File

@ -24,7 +24,7 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob; import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas; import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas;
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
import com.shatteredpixel.shatteredpixeldungeon.plants.Rotberry; import com.shatteredpixel.shatteredpixeldungeon.plants.Rotberry;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene; import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.RotHeartSprite; import com.shatteredpixel.shatteredpixeldungeon.sprites.RotHeartSprite;
@ -49,13 +49,13 @@ public class RotHeart extends Mob {
} }
@Override @Override
protected boolean act() { public void damage(int dmg, Object src) {
if (Dungeon.level.map[pos] != Terrain.GRASS && Dungeon.level.map[pos] != Terrain.HIGH_GRASS){ //TODO: when effect properties are done, change this to FIRE
if (src instanceof Burning) {
destroy(); destroy();
sprite.die(); sprite.die();
return true;
} else { } else {
return super.act(); super.damage(dmg, src);
} }
} }

View File

@ -20,14 +20,13 @@
*/ */
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs; package com.shatteredpixel.shatteredpixeldungeon.actors.mobs;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas; import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple;
import com.shatteredpixel.shatteredpixeldungeon.items.Generator; import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
import com.shatteredpixel.shatteredpixeldungeon.levels.Level; import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
import com.shatteredpixel.shatteredpixeldungeon.sprites.RotLasherSprite; import com.shatteredpixel.shatteredpixeldungeon.sprites.RotLasherSprite;
import com.shatteredpixel.shatteredpixeldungeon.utils.Utils; import com.shatteredpixel.shatteredpixeldungeon.utils.Utils;
import com.watabou.utils.Random; import com.watabou.utils.Random;
@ -55,15 +54,19 @@ public class RotLasher extends Mob {
@Override @Override
protected boolean act() { protected boolean act() {
if (Dungeon.level.map[pos] != Terrain.GRASS && Dungeon.level.map[pos] != Terrain.HIGH_GRASS){ if (enemy == null || !Level.adjacent(pos, enemy.pos)) {
HP = Math.min(HT, HP + 3);
}
return super.act();
}
@Override
public void damage(int dmg, Object src) {
if (src instanceof Burning) {
destroy(); destroy();
sprite.die(); sprite.die();
return true;
} else { } else {
if (enemy == null || !Level.adjacent(pos, enemy.pos)) { super.damage(dmg, src);
HP = Math.min(HT, HP + 3);
}
return super.act();
} }
} }