diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java index f97485282..f5b00a0b5 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java @@ -81,7 +81,7 @@ public class ShatteredPixelDungeon extends Game { com.watabou.utils.Bundle.addAlias( com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Elastic.class, - "com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.curses.Elastic" ); + "com.shatteredpixel.shatteredpixeldungeon.items.weapon.curses.Elastic" ); com.watabou.utils.Bundle.addAlias( com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Elastic.class, "com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Dazzling" ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/MagicalSleep.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/MagicalSleep.java index 575ecd983..7d7e3c5bc 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/MagicalSleep.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/MagicalSleep.java @@ -66,7 +66,7 @@ public class MagicalSleep extends Buff { if (target.alignment == Char.Alignment.ALLY) { target.HP = Math.min(target.HP+1, target.HT); if (target instanceof Hero) ((Hero) target).resting = true; - if (target.HP == target.buff(Regeneration.class).regencap()) { + if (target.HP == target.HT) { if (target instanceof Hero) GLog.p(Messages.get(this, "wakeup")); detach(); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java index 6d47c9a0c..3a4dd5846 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java @@ -105,7 +105,7 @@ public class DriedRose extends Artifact { actions.remove(AC_EQUIP); return actions; } - if (isEquipped( hero ) && charge == chargeCap && !cursed && ghostID != 0) { + if (isEquipped( hero ) && charge == chargeCap && !cursed && ghostID == 0) { actions.add(AC_SUMMON); } if (ghostID != 0){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfLivingEarth.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfLivingEarth.java index 4f88a667d..b314bfe33 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfLivingEarth.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfLivingEarth.java @@ -121,6 +121,7 @@ public class WandOfLivingEarth extends DamageWand { } else { guardian.pos = closest; GameScene.add(guardian); + Dungeon.level.press(guardian.pos, guardian); } guardian.aggro(ch); @@ -128,6 +129,7 @@ public class WandOfLivingEarth extends DamageWand { } else { guardian.pos = bolt.collisionPos; GameScene.add(guardian); + Dungeon.level.press(guardian.pos, guardian); } guardian.sprite.centerEmitter().burst(MagicMissile.EarthParticle.ATTRACT, 5 + level()/2); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfWarding.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfWarding.java index edb01a2f3..81dc715bf 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfWarding.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfWarding.java @@ -65,6 +65,7 @@ public class WandOfWarding extends Wand { ward.pos = bolt.collisionPos; ward.wandLevel = level(); GameScene.add(ward, 1f); + Dungeon.level.press(ward.pos, ward); ward.sprite.emitter().burst(MagicMissile.WardParticle.UP, ward.tier); QuickSlotButton.target(ward); } else { @@ -346,6 +347,7 @@ public class WandOfWarding extends Wand { protected void onSelect(int index) { if (index == 0){ die(null); + Dungeon.observe(); } } }); @@ -377,5 +379,9 @@ public class WandOfWarding extends Wand { wandLevel = bundle.getInt(WAND_LEVEL); totalZaps = bundle.getInt(TOTAL_ZAPS); } + + { + properties.add(Property.IMMOVABLE); + } } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Catalog.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Catalog.java index c53b6073d..3f678c960 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Catalog.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Catalog.java @@ -85,10 +85,12 @@ import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfDisintegration import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfFireblast; import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfFrost; import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfLightning; +import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfLivingEarth; import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfMagicMissile; import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfPrismaticLight; import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfRegrowth; import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfTransfusion; +import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfWarding; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.AssassinsBlade; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.BattleAxe; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Crossbow; @@ -195,10 +197,10 @@ public enum Catalog { WANDS.seen.put( WandOfFireblast.class, false); WANDS.seen.put( WandOfCorrosion.class, false); WANDS.seen.put( WandOfBlastWave.class, false); - //WANDS.seen.put( WandOfLivingEarth.class, false); + WANDS.seen.put( WandOfLivingEarth.class, false); WANDS.seen.put( WandOfFrost.class, false); WANDS.seen.put( WandOfPrismaticLight.class, false); - //WANDS.seen.put( WandOfWarding.class, false); + WANDS.seen.put( WandOfWarding.class, false); WANDS.seen.put( WandOfTransfusion.class, false); WANDS.seen.put( WandOfCorruption.class, false); WANDS.seen.put( WandOfRegrowth.class, false); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/PrisonBossLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/PrisonBossLevel.java index edea91af7..a49a38aeb 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/PrisonBossLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/PrisonBossLevel.java @@ -318,7 +318,7 @@ public class PrisonBossLevel extends Level { for (Mob m : mobs){ //bring the first ally with you - if (m.alignment == Char.Alignment.ALLY){ + if (m.alignment == Char.Alignment.ALLY && !m.properties().contains(Char.Property.IMMOVABLE)){ m.pos = ARENA_DOOR; //they should immediately walk out of the door m.sprite.place(m.pos); break; diff --git a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties index b1b7ef746..602005388 100644 --- a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties +++ b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties @@ -1234,7 +1234,7 @@ items.wands.wandofwarding$ward.desc_5=This upgraded sentry is larger and able to items.wands.wandofwarding$ward.name_6=greater sentry items.wands.wandofwarding$ward.desc_6=This fully upgraded sentry is significantly more durable than its predecessors. Each zap from this sentry will deal _%1$d-%2$d damage._\n\nZapping this sentry with your wand of warding will heal it.\n\nThis sentry will spend some health each time it zaps an enemy, but can be healed by using your wand of warding on it. items.wands.wandofwarding$ward.dismiss_title=Dismiss this ward? -items.wands.wandofwarding$ward.dismiss_body=You can dispel this ward if you no longer want your wand to maintain it. Doing so immediately doing so immediately destroys the ward.\n\nDismiss this ward? +items.wands.wandofwarding$ward.dismiss_body=You can dispel this ward if you no longer want your wand to maintain it. Doing so immediately destroys the ward.\n\nDismiss this ward? items.wands.wandofwarding$ward.dismiss_confirm=yes items.wands.wandofwarding$ward.dismiss_cancel=no