v0.8.0: even more minor tweaks and improvements:

- brewing a potion with 3 of the same seed now auto-IDs it
- teleportation effects are no longer able to place characters onto a trap
- fixed wands which spawn upgraded not being fully charged
- fixed some allies being corruptable when they shouldn't be
This commit is contained in:
Evan Debenham 2019-11-07 20:58:59 -05:00
parent 1f033200f6
commit b666231e7f
6 changed files with 19 additions and 2 deletions

View File

@ -28,6 +28,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.CorrosiveGas;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
@ -184,6 +185,7 @@ public class MirrorImage extends NPC {
immunities.add( ToxicGas.class );
immunities.add( CorrosiveGas.class );
immunities.add( Burning.class );
immunities.add( Corruption.class );
}
public static class MirrorInvis extends Invisibility {

View File

@ -520,6 +520,10 @@ public class Potion extends Item {
}
if (seeds.size() == 1){
result.identify();
}
while (result instanceof PotionOfHealing
&& (Dungeon.isChallenged(Challenges.NO_HEALING)
|| Random.Int(10) < Dungeon.LimitedDrops.COOKING_HP.count)) {

View File

@ -121,7 +121,7 @@ public class ScrollOfTeleportation extends Scroll {
if (count-- <= 0) {
break;
}
} while (pos == -1);
} while (pos == -1 || Dungeon.level.secret[pos]);
if (pos == -1) {
@ -168,7 +168,7 @@ public class ScrollOfTeleportation extends Scroll {
int cell;
for (Point p : r.charPlaceablePoints(level)){
cell = level.pointToCell(p);
if (level.passable[cell] && !level.visited[cell] && Actor.findChar(cell) == null){
if (level.passable[cell] && !level.visited[cell] && !level.secret[cell]){
candidates.add(cell);
}
}

View File

@ -338,6 +338,7 @@ public abstract class Wand extends Item {
}
}
level(n);
curCharges += n;
//30% chance to be cursed
if (Random.Float() < 0.3f) {

View File

@ -28,6 +28,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Amok;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.NPC;
@ -341,6 +342,10 @@ public class WandOfLivingEarth extends DamageWand {
}
{
immunities.add( Corruption.class );
}
private static final String DEFENSE = "defense";
private static final String WAND_LEVEL = "wand_level";

View File

@ -5,6 +5,7 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.NPC;
import com.shatteredpixel.shatteredpixeldungeon.effects.MagicMissile;
@ -392,6 +393,10 @@ public class WandOfWarding extends Wand {
return Messages.get(this, "desc_" + tier, 2+wandLevel, 8 + 4*wandLevel );
}
{
immunities.add( Corruption.class );
}
private static final String TIER = "tier";
private static final String WAND_LEVEL = "wand_level";
private static final String TOTAL_ZAPS = "total_zaps";