diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/MassGravePainter.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/MassGravePainter.java index 49df26a8f..21edbafb9 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/MassGravePainter.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/MassGravePainter.java @@ -31,6 +31,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.quest.CorpseDust; import com.shatteredpixel.shatteredpixeldungeon.levels.Level; import com.shatteredpixel.shatteredpixeldungeon.levels.Room; import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain; +import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.ui.CustomTileVisual; import com.watabou.utils.Random; @@ -83,7 +84,7 @@ public class MassGravePainter extends Painter { public static class Bones extends CustomTileVisual { { - name = "Mass grave"; + name = Messages.get(this, "name"); tx = Assets.PRISON_QUEST; txX = 3; @@ -93,7 +94,7 @@ public class MassGravePainter extends Painter { @Override public String desc() { if (ofsX == 1 && ofsY == 1) { - return "bones litter the floor, what happened here?"; + return Messages.get(this, "desc"); } else { return null; } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/RitualSitePainter.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/RitualSitePainter.java index 1ca99589d..eaeef1a7e 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/RitualSitePainter.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/RitualSitePainter.java @@ -27,6 +27,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.quest.CeremonialCandle; import com.shatteredpixel.shatteredpixeldungeon.levels.Level; import com.shatteredpixel.shatteredpixeldungeon.levels.Room; import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain; +import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.ui.CustomTileVisual; import com.watabou.utils.Point; @@ -60,7 +61,7 @@ public class RitualSitePainter extends Painter { public static class RitualMarker extends CustomTileVisual{ { - name = "Ritual marker"; + name = Messages.get(this, "name"); tx = Assets.PRISON_QUEST; txX = txY = 0; @@ -69,7 +70,7 @@ public class RitualSitePainter extends Painter { @Override public String desc() { - return "A painted marker for some dark ritual. Candles are usually placed on the four corners."; + return Messages.get(this, "desc"); } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/WeakFloorPainter.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/WeakFloorPainter.java index ee58a84fb..1cfdd7f17 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/WeakFloorPainter.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/WeakFloorPainter.java @@ -25,6 +25,7 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon; import com.shatteredpixel.shatteredpixeldungeon.levels.Level; import com.shatteredpixel.shatteredpixeldungeon.levels.Room; import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain; +import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.ui.CustomTileVisual; import com.watabou.utils.Point; import com.watabou.utils.Random; @@ -76,7 +77,7 @@ public class WeakFloorPainter extends Painter { public static class HiddenWell extends CustomTileVisual{ { - name = "Distant well"; + name = Messages.get(this, "name"); tx = Assets.WEAK_FLOOR; txX = Dungeon.depth/5; @@ -85,7 +86,7 @@ public class WeakFloorPainter extends Painter { @Override public String desc() { - return "You can just make out a well in the depths below, perhaps there is something down there?"; + return Messages.get(this, "desc"); } } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/AlarmTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/AlarmTrap.java index 05d061798..bb9c2e475 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/AlarmTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/AlarmTrap.java @@ -20,6 +20,7 @@ */ package com.shatteredpixel.shatteredpixeldungeon.levels.traps; +import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; import com.watabou.noosa.audio.Sample; import com.shatteredpixel.shatteredpixeldungeon.Assets; @@ -32,7 +33,6 @@ import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; public class AlarmTrap extends Trap { { - name = "Alarm trap"; color = TrapSprite.RED; shape = TrapSprite.DOTS; } @@ -45,16 +45,10 @@ public class AlarmTrap extends Trap { } if (Dungeon.visible[pos]) { - GLog.w( "The trap emits a piercing sound that echoes throughout the dungeon!" ); + GLog.w( Messages.get(this, "alarm") ); CellEmitter.center( pos ).start( Speck.factory( Speck.SCREAM ), 0.3f, 3 ); } Sample.INSTANCE.play( Assets.SND_ALERT ); } - - @Override - public String desc() { - return "This trap seems to be tied to a loud alarm mechanism. " + - "Triggering it will likely alert everything on the level."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/BlazingTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/BlazingTrap.java index 08c33f05e..f9ac88c9e 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/BlazingTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/BlazingTrap.java @@ -33,7 +33,6 @@ import com.watabou.noosa.audio.Sample; public class BlazingTrap extends Trap { { - name = "Blazing trap"; color = TrapSprite.ORANGE; shape = TrapSprite.STARS; } @@ -52,9 +51,4 @@ public class BlazingTrap extends Trap { } Sample.INSTANCE.play(Assets.SND_BURNING); } - - @Override - public String desc() { - return "Stepping on this trap will ignite a powerful chemical mixture, setting a wide area ablaze."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ChillingTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ChillingTrap.java index f7a4130ab..a3fb76a4a 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ChillingTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ChillingTrap.java @@ -28,6 +28,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Chill; import com.shatteredpixel.shatteredpixeldungeon.effects.Splash; import com.shatteredpixel.shatteredpixeldungeon.items.Heap; +import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.Utils; @@ -37,7 +38,6 @@ import com.watabou.utils.Random; public class ChillingTrap extends Trap{ { - name = "Chilling trap"; color = TrapSprite.WHITE; shape = TrapSprite.DOTS; } @@ -58,13 +58,8 @@ public class ChillingTrap extends Trap{ ch.damage(Random.NormalIntRange(1 , Dungeon.depth), this); if (!ch.isAlive() && ch == Dungeon.hero){ Dungeon.fail( Utils.format(ResultDescriptions.TRAP, name) ); - GLog.n("You succumb to the chilling trap..."); + GLog.n( Messages.get(this, "ondeath") ); } } } - - @Override - public String desc() { - return "When activated, chemicals in this trap will trigger a snap-frost at its location."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ConfusionTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ConfusionTrap.java index 98f4902c3..31ba39787 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ConfusionTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ConfusionTrap.java @@ -29,7 +29,6 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; public class ConfusionTrap extends Trap { { - name = "Confusion gas trap"; color = TrapSprite.TEAL; shape = TrapSprite.GRILL; } @@ -40,9 +39,4 @@ public class ConfusionTrap extends Trap { GameScene.add(Blob.seed(pos, 300 + 20 * Dungeon.depth, ConfusionGas.class)); } - - @Override - public String desc() { - return "Triggering this trap will set a cloud of confusion gas loose within the immediate area."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/CursingTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/CursingTrap.java index be348b193..6a02ed649 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/CursingTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/CursingTrap.java @@ -27,6 +27,7 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter; import com.shatteredpixel.shatteredpixeldungeon.effects.particles.ShadowParticle; import com.shatteredpixel.shatteredpixeldungeon.items.*; import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor; +import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.watabou.noosa.audio.Sample; @@ -34,7 +35,6 @@ import com.watabou.noosa.audio.Sample; public class CursingTrap extends Trap { { - name = "Cursing trap"; color = TrapSprite.VIOLET; shape = TrapSprite.WAVES; } @@ -65,13 +65,7 @@ public class CursingTrap extends Trap { if (misc1 != null) misc1.cursed = misc1.cursedKnown = true; if (misc2 != null) misc2.cursed = misc2.cursedKnown = true; EquipableItem.equipCursed(hero); - GLog.n("Your worn equipment becomes cursed!"); + GLog.n( Messages.get(this, "curse") ); } } - - @Override - public String desc() { - return "This trap contains the same malevolent magic found in cursed equipment. " + - "Triggering it will curse all worn items, and all items in the immediate area."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/DisarmingTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/DisarmingTrap.java index d3ff9c578..a52339729 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/DisarmingTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/DisarmingTrap.java @@ -30,6 +30,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Item; import com.shatteredpixel.shatteredpixeldungeon.items.KindOfWeapon; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Knuckles; import com.shatteredpixel.shatteredpixeldungeon.levels.Level; +import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.watabou.noosa.audio.Sample; @@ -37,7 +38,6 @@ import com.watabou.noosa.audio.Sample; public class DisarmingTrap extends Trap{ { - name = "Disarming trap"; color = TrapSprite.RED; shape = TrapSprite.LARGE_DOT; } @@ -78,7 +78,7 @@ public class DisarmingTrap extends Trap{ Dungeon.level.visited[cell+i] = true; Dungeon.observe(); - GLog.w("Your weapon is teleported away!"); + GLog.w( Messages.get(this, "disarm") ); Sample.INSTANCE.play(Assets.SND_TELEPORT); CellEmitter.get(pos).burst(Speck.factory(Speck.LIGHT), 4); @@ -88,9 +88,4 @@ public class DisarmingTrap extends Trap{ } } } - - @Override - public String desc() { - return "This trap contains very specific teleportation magic, which will warp the weapon of its victim to some other location."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/DisintegrationTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/DisintegrationTrap.java index b0342819e..4c4ef6049 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/DisintegrationTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/DisintegrationTrap.java @@ -32,6 +32,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Heap; import com.shatteredpixel.shatteredpixeldungeon.items.Item; import com.shatteredpixel.shatteredpixeldungeon.items.bags.Bag; import com.shatteredpixel.shatteredpixeldungeon.levels.Level; +import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.Utils; @@ -41,7 +42,6 @@ import com.watabou.utils.Random; public class DisintegrationTrap extends Trap { { - name = "Disintegration trap"; color = TrapSprite.VIOLET; shape = TrapSprite.LARGE_DOT; } @@ -57,7 +57,6 @@ public class DisintegrationTrap extends Trap { Sample.INSTANCE.play( Assets.SND_RAY ); } - Heap heap = Dungeon.level.heaps.get(pos); if (heap != null) heap.explode(); @@ -68,7 +67,7 @@ public class DisintegrationTrap extends Trap { Hero hero = (Hero)ch; if (!hero.isAlive()){ Dungeon.fail(Utils.format(ResultDescriptions.TRAP, name)); - GLog.n("You were killed by the disintegration trap..."); + GLog.n( Messages.get(this, "ondeath") ); } else { Item item = hero.belongings.randomUnequipped(); Bag bag = hero.belongings.backpack; @@ -80,22 +79,16 @@ public class DisintegrationTrap extends Trap { if (item == null || item.level() > 0 || item.unique) return; if (!item.stackable){ item.detachAll(bag); - GLog.w("the trap disintegrates your " + item.name() + "!"); + GLog.w( Messages.get(this, "one", item.name()) ); } else { int n = Random.NormalIntRange(1, (item.quantity()+1)/2); for(int i = 1; i <= n; i++) item.detach(bag); - GLog.w("the trap disintegrates some of your " + item.name() + "!"); + GLog.w( Messages.get(this, "some", item.name()) ); } } } } } - - @Override - public String desc() { - return "When triggered, this trap will lance the target with beams of disintegration, " + - "dealing significant damage and destroying items."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/DistortionTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/DistortionTrap.java index b3c4fad5b..9c97279f9 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/DistortionTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/DistortionTrap.java @@ -31,7 +31,6 @@ import com.watabou.noosa.Game; public class DistortionTrap extends Trap{ { - name = "Distortion trap"; color = TrapSprite.TEAL; shape = TrapSprite.LARGE_DOT; } @@ -47,9 +46,4 @@ public class DistortionTrap extends Trap{ InterlevelScene.mode = InterlevelScene.Mode.RESET; Game.switchScene(InterlevelScene.class); } - - @Override - public String desc() { - return "Built from strange magic of unknown origin, this trap will shift and morph the world around you."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ExplosiveTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ExplosiveTrap.java index ae4aa76df..325934966 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ExplosiveTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ExplosiveTrap.java @@ -26,7 +26,6 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; public class ExplosiveTrap extends Trap { { - name = "Explosive trap"; color = TrapSprite.ORANGE; shape = TrapSprite.DIAMOND; } @@ -36,9 +35,4 @@ public class ExplosiveTrap extends Trap { new Bomb().explode(pos); } - @Override - public String desc() { - return "This trap contains some powdered explosive and a trigger mechanism. " + - "Activating it will cause an explosion in the immediate area."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/FireTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/FireTrap.java index ecc05cabc..0527a8981 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/FireTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/FireTrap.java @@ -30,7 +30,6 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; public class FireTrap extends Trap { { - name = "Fire trap"; color = TrapSprite.ORANGE; shape = TrapSprite.DOTS; } @@ -42,9 +41,4 @@ public class FireTrap extends Trap { CellEmitter.get( pos ).burst( FlameParticle.FACTORY, 5 ); } - - @Override - public String desc() { - return "Stepping on this trap will ignite a chemical mixture, setting the immediate area aflame."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/FlashingTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/FlashingTrap.java index 81c9a09ad..18bfc7e59 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/FlashingTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/FlashingTrap.java @@ -38,7 +38,6 @@ import com.watabou.utils.Random; public class FlashingTrap extends Trap { { - name = "Flashing trap"; color = TrapSprite.YELLOW; shape = TrapSprite.STARS; } @@ -66,9 +65,4 @@ public class FlashingTrap extends Trap { } } - @Override - public String desc() { - return "On activation, this trap will ignite a potent flashing powder stored within, " + - "temporarily blinding and crippling its victim."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/FlockTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/FlockTrap.java index 7726a0c11..8c1b4af42 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/FlockTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/FlockTrap.java @@ -35,7 +35,6 @@ import com.watabou.utils.Random; public class FlockTrap extends Trap { { - name = "Flock trap"; color = TrapSprite.WHITE; shape = TrapSprite.WAVES; } @@ -68,8 +67,4 @@ public class FlockTrap extends Trap { } - @Override - public String desc() { - return "Perhaps a joke from some amateur mage, triggering this trap will create a flock of magical sheep."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/FrostTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/FrostTrap.java index 8be8a5c9b..a2cf2a879 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/FrostTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/FrostTrap.java @@ -29,6 +29,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Chill; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Frost; import com.shatteredpixel.shatteredpixeldungeon.effects.Splash; import com.shatteredpixel.shatteredpixeldungeon.items.Heap; +import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.Utils; @@ -38,7 +39,6 @@ import com.watabou.utils.Random; public class FrostTrap extends Trap { { - name = "Frost trap"; color = TrapSprite.WHITE; shape = TrapSprite.STARS; } @@ -60,13 +60,8 @@ public class FrostTrap extends Trap { Chill.prolong(ch, Frost.class, 10f + Random.Int(Dungeon.depth)); if (!ch.isAlive() && ch == Dungeon.hero){ Dungeon.fail( Utils.format(ResultDescriptions.TRAP, name) ); - GLog.n("You succumb to the freezing trap..."); + GLog.n( Messages.get(this, "ondeath") ); } } } - - @Override - public String desc() { - return "When activated, chemicals in this trap will trigger a powerful snap-frost at its location."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/GrimTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/GrimTrap.java index ca0258762..008140530 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/GrimTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/GrimTrap.java @@ -30,6 +30,7 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.MagicMissile; import com.shatteredpixel.shatteredpixeldungeon.effects.particles.ShadowParticle; import com.shatteredpixel.shatteredpixeldungeon.levels.Level; import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica; +import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.Utils; @@ -39,7 +40,6 @@ import com.watabou.utils.Callback; public class GrimTrap extends Trap { { - name = "Grim trap"; color = TrapSprite.GREY; shape = TrapSprite.LARGE_DOT; } @@ -82,7 +82,7 @@ public class GrimTrap extends Trap { Sample.INSTANCE.play(Assets.SND_CURSED); if (!finalTarget.isAlive()) { Dungeon.fail(Utils.format(ResultDescriptions.TRAP, name)); - GLog.n("You were killed by the blast of a grim trap..."); + GLog.n( Messages.get(this, "ondeath") ); } } else { finalTarget.damage(finalTarget.HP, this); @@ -96,10 +96,4 @@ public class GrimTrap extends Trap { Sample.INSTANCE.play(Assets.SND_BURNING); } } - - @Override - public String desc() { - return "Extremely powerful destructive magic is stored within this trap, enough to instantly kill all but the healthiest of heroes. " + - "Triggering it will send a ranged blast of lethal magic towards the nearest character."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/GrippingTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/GrippingTrap.java index b4a6e938c..a22736829 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/GrippingTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/GrippingTrap.java @@ -34,7 +34,6 @@ import com.watabou.utils.Random; public class GrippingTrap extends Trap { { - name = "Gripping trap"; color = TrapSprite.GREY; shape = TrapSprite.CROSSHAIR; } @@ -55,10 +54,4 @@ public class GrippingTrap extends Trap { } } - - @Override - public String desc() { - return "Triggering this trap will send barbed claws along the ground, " + - "damaging the victims feet and rooting them in place."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/GuardianTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/GuardianTrap.java index 22f23070d..5228e386d 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/GuardianTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/GuardianTrap.java @@ -27,6 +27,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Statue; import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter; import com.shatteredpixel.shatteredpixeldungeon.effects.Speck; +import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene; import com.shatteredpixel.shatteredpixeldungeon.sprites.StatueSprite; import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; @@ -36,7 +37,6 @@ import com.watabou.noosa.audio.Sample; public class GuardianTrap extends Trap { { - name = "Guardian trap"; color = TrapSprite.RED; shape = TrapSprite.STARS; } @@ -49,7 +49,7 @@ public class GuardianTrap extends Trap { } if (Dungeon.visible[pos]) { - GLog.w("The trap emits a piercing sound that echoes throughout the dungeon!"); + GLog.w( Messages.get(this, "alarm") ); CellEmitter.center(pos).start( Speck.factory(Speck.SCREAM), 0.3f, 3 ); } @@ -65,16 +65,9 @@ public class GuardianTrap extends Trap { } - @Override - public String desc() { - return "This trap is tied to a strange magical mechanism, " + - "which will summon guardians and alert all enemies on the floor."; - } - public static class Guardian extends Statue { { - name = "summoned guardian"; spriteClass = GuardianSprite.class; EXP = 0; @@ -99,11 +92,6 @@ public class GuardianTrap extends Trap { target = cell; } - @Override - public String description() { - return "This blue apparition seems to be a summoned echo of one of the dungeon's stone guardians." + - "\n\nWhile the statue itself is almost incorporeal, the _" + weapon.name() + "_, it's wielding, looks real."; - } } public static class GuardianSprite extends StatueSprite { diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/LightningTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/LightningTrap.java index 9be41463c..68a22365b 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/LightningTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/LightningTrap.java @@ -26,6 +26,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Heap; import com.shatteredpixel.shatteredpixeldungeon.items.Item; import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff; +import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; import com.watabou.noosa.Camera; import com.shatteredpixel.shatteredpixeldungeon.Dungeon; @@ -44,7 +45,6 @@ import java.util.ArrayList; public class LightningTrap extends Trap { { - name = "Lightning trap"; color = TrapSprite.TEAL; shape = TrapSprite.CROSSHAIR; } @@ -62,7 +62,7 @@ public class LightningTrap extends Trap { if (!ch.isAlive()) { Dungeon.fail( Utils.format( ResultDescriptions.TRAP, name ) ); - GLog.n( "You were killed by a discharge of a lightning trap..." ); + GLog.n( Messages.get(this, "ondeath") ); } } @@ -90,10 +90,4 @@ public class LightningTrap extends Trap { public static final Electricity LIGHTNING = new Electricity(); public static class Electricity { } - - @Override - public String desc() { - return "A mechanism with a large amount of energy stored into it. " + - "Triggering the trap will discharge that energy into whatever activates it."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/OozeTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/OozeTrap.java index a24804bad..2b6606ac7 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/OozeTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/OozeTrap.java @@ -30,7 +30,6 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; public class OozeTrap extends Trap { { - name = "Ooze trap"; color = TrapSprite.GREEN; shape = TrapSprite.DOTS; } @@ -44,9 +43,4 @@ public class OozeTrap extends Trap { Splash.at(sprite.center(), 0x000000, 5); } } - - @Override - public String desc() { - return "This trap will splash out caustic ooze when activated, which will burn until it is washed away."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ParalyticTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ParalyticTrap.java index 966619463..07c91e23e 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ParalyticTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ParalyticTrap.java @@ -29,7 +29,6 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; public class ParalyticTrap extends Trap{ { - name = "Paralytic gas trap"; color = TrapSprite.YELLOW; shape = TrapSprite.GRILL; } @@ -40,9 +39,4 @@ public class ParalyticTrap extends Trap{ GameScene.add( Blob.seed( pos, 80 + 5 * Dungeon.depth, ParalyticGas.class ) ); } - - @Override - public String desc() { - return "Triggering this trap will set a cloud of paralytic gas loose within the surrounding area."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/PitfallTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/PitfallTrap.java index be73ea413..17cfe941f 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/PitfallTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/PitfallTrap.java @@ -36,10 +36,8 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; public class PitfallTrap extends Trap { { - name = "Pitfall trap"; color = TrapSprite.RED; shape = TrapSprite.DIAMOND; - } @Override @@ -85,9 +83,4 @@ public class PitfallTrap extends Trap { GameScene.updateMap( pos ); } } - - @Override - public String desc() { - return "This pressure plate rests atop a fairly weak floor, and will likely collapse into a pit if it is pressed."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/PoisonTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/PoisonTrap.java index 5fe441d39..3a109aa10 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/PoisonTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/PoisonTrap.java @@ -32,7 +32,6 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; public class PoisonTrap extends Trap{ { - name = "Poison trap"; color = TrapSprite.VIOLET; shape = TrapSprite.CROSSHAIR; } @@ -49,9 +48,4 @@ public class PoisonTrap extends Trap{ CellEmitter.center( pos ).burst( PoisonParticle.SPLASH, 3 ); } - - @Override - public String desc() { - return "A small dart-blower must be hidden nearby, activating this trap will cause it to shoot a poisoned dart at you."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/RockfallTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/RockfallTrap.java index 9fb8e01e2..ad2521f2b 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/RockfallTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/RockfallTrap.java @@ -30,6 +30,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Paralysis; import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter; import com.shatteredpixel.shatteredpixeldungeon.effects.Speck; import com.shatteredpixel.shatteredpixeldungeon.levels.Level; +import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.Utils; @@ -40,7 +41,6 @@ import com.watabou.utils.Random; public class RockfallTrap extends Trap { { - name = "Rockfall trap"; color = TrapSprite.GREY; shape = TrapSprite.DIAMOND; } @@ -65,14 +65,8 @@ public class RockfallTrap extends Trap { if (!ch.isAlive() && ch == Dungeon.hero){ Dungeon.fail(Utils.format(ResultDescriptions.TRAP, name)); - GLog.n("You were crushed by the rockfall trap..."); + GLog.n( Messages.get(this, "ondeath") ); } } } - - @Override - public String desc() { - return "This trap is connected to a series of loose rocks above, " + - "triggering it will cause them to come crashing down."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/SpearTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/SpearTrap.java index 1b06e79ea..2bd1c006a 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/SpearTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/SpearTrap.java @@ -26,6 +26,7 @@ import com.shatteredpixel.shatteredpixeldungeon.ResultDescriptions; import com.shatteredpixel.shatteredpixeldungeon.actors.Actor; import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.effects.Wound; +import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.Utils; @@ -35,7 +36,6 @@ import com.watabou.utils.Random; public class SpearTrap extends Trap { { - name = "Spear trap"; color = TrapSprite.GREY; shape = TrapSprite.DOTS; } @@ -64,14 +64,8 @@ public class SpearTrap extends Trap { ch.damage( Math.max(damage, 0) , this); if (!ch.isAlive() && ch == Dungeon.hero){ Dungeon.fail(Utils.format(ResultDescriptions.TRAP, name)); - GLog.n("You were skewered by the spear trap..."); + GLog.n( Messages.get(this, "ondeath") ); } } } - - @Override - public String desc() { - return "The classic spear trap, primitive but effective. " + - "Due to their simple nature, these traps can activate many times without breaking."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/SummoningTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/SummoningTrap.java index 39a42481d..bd9cad394 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/SummoningTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/SummoningTrap.java @@ -38,7 +38,6 @@ public class SummoningTrap extends Trap { private static final float DELAY = 2f; { - name = "Summoning trap"; color = TrapSprite.TEAL; shape = TrapSprite.WAVES; } @@ -92,9 +91,4 @@ public class SummoningTrap extends Trap { } } - - @Override - public String desc() { - return "Triggering this trap will summon a number of monsters from the surrounding floors to this location."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/TeleportationTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/TeleportationTrap.java index a79152575..a19bf4dd4 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/TeleportationTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/TeleportationTrap.java @@ -40,7 +40,6 @@ import java.util.LinkedList; public class TeleportationTrap extends Trap { { - name = "Teleportation trap"; color = TrapSprite.TEAL; shape = TrapSprite.DOTS; } @@ -89,9 +88,4 @@ public class TeleportationTrap extends Trap { } } } - - @Override - public String desc() { - return "Whatever triggers this trap will be warped to some other location on this floor."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ToxicTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ToxicTrap.java index fecba11ab..0ab830b2b 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ToxicTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ToxicTrap.java @@ -29,7 +29,6 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; public class ToxicTrap extends Trap{ { - name = "Toxic gas trap"; color = TrapSprite.GREEN; shape = TrapSprite.GRILL; } @@ -40,9 +39,4 @@ public class ToxicTrap extends Trap{ GameScene.add( Blob.seed( pos, 300 + 20 * Dungeon.depth, ToxicGas.class ) ); } - - @Override - public String desc() { - return "Triggering this trap will set a cloud of toxic gas loose within the surrounding area."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/Trap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/Trap.java index 51756cbfb..a26e991ee 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/Trap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/Trap.java @@ -24,6 +24,7 @@ import com.shatteredpixel.shatteredpixeldungeon.Assets; import com.shatteredpixel.shatteredpixeldungeon.Dungeon; import com.shatteredpixel.shatteredpixeldungeon.levels.Level; import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain; +import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene; import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; import com.watabou.noosa.audio.Sample; @@ -33,7 +34,7 @@ import com.watabou.utils.Bundle; public abstract class Trap implements Bundlable { - public String name; + public String name = Messages.get(this, "name"); public int color; public int shape; @@ -108,6 +109,6 @@ public abstract class Trap implements Bundlable { } public String desc() { - return "Stepping onto a hidden pressure plate will activate the trap."; + return Messages.get(this, "desc"); } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/TrapGenerator.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/TrapGenerator.java deleted file mode 100644 index 3f1540700..000000000 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/TrapGenerator.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Pixel Dungeon - * Copyright (C) 2012-2015 Oleg Dolya - * - * Shattered Pixel Dungeon - * Copyright (C) 2014-2015 Evan Debenham - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see - */ -package com.shatteredpixel.shatteredpixeldungeon.levels.traps; - -public class TrapGenerator { - - - public Trap trapforDepth(int depth){ - Class Trapclass; - switch(depth){ - case 1: - return new FireTrap(); - - default: - return new FireTrap(); - } - - } - - - public Class trapforTrapRoom(int depth){ - return FireTrap.class; - } - -} diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/VenomTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/VenomTrap.java index 8b1b253c2..0dcfaa63e 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/VenomTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/VenomTrap.java @@ -29,7 +29,6 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; public class VenomTrap extends Trap { { - name = "Venom gas trap"; color = TrapSprite.VIOLET; shape = TrapSprite.GRILL; } @@ -44,9 +43,4 @@ public class VenomTrap extends Trap { GameScene.add(venomGas); } - - @Override - public String desc() { - return "Triggering this trap will set a cloud of deadly venom gas loose within the immediate area."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/WarpingTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/WarpingTrap.java index cffc85cea..256633cec 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/WarpingTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/WarpingTrap.java @@ -43,7 +43,6 @@ import java.util.ArrayList; public class WarpingTrap extends Trap { { - name = "Warping trap"; color = TrapSprite.TEAL; shape = TrapSprite.STARS; } @@ -93,9 +92,4 @@ public class WarpingTrap extends Trap { } } - - @Override - public String desc() { - return "Whatever triggers this trap will be warped to some other location in the dungeon."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/WeakeningTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/WeakeningTrap.java index 5ae91d748..115cc38bb 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/WeakeningTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/WeakeningTrap.java @@ -33,7 +33,6 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; public class WeakeningTrap extends Trap{ { - name = "Weakening trap"; color = TrapSprite.GREEN; shape = TrapSprite.WAVES; } @@ -51,9 +50,4 @@ public class WeakeningTrap extends Trap{ Buff.prolong( ch, Slow.class, Slow.duration(ch)); } } - - @Override - public String desc() { - return "Dark magic in this trap sucks the energy out of anything that comes into contact with it."; - } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/WornTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/WornTrap.java index 5144e674a..b6adeacab 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/WornTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/WornTrap.java @@ -20,13 +20,13 @@ */ package com.shatteredpixel.shatteredpixeldungeon.levels.traps; +import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; public class WornTrap extends Trap { { - name = "Worn out trap"; color = TrapSprite.BLACK; shape = TrapSprite.DOTS; } @@ -39,12 +39,6 @@ public class WornTrap extends Trap { @Override public void activate() { - GLog.i("nothing happens.."); - } - - @Override - public String desc() { - return "Due to age and possibly poor workmanship, " + - "it looks like this trap has worn to the point where it won't do anything when triggered."; + GLog.i( Messages.get(this, "nothing") ); } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/messages/messages.properties b/src/com/shatteredpixel/shatteredpixeldungeon/messages/messages.properties index 9b1a2bb45..b24578023 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/messages/messages.properties +++ b/src/com/shatteredpixel/shatteredpixeldungeon/messages/messages.properties @@ -429,4 +429,88 @@ levels.features.sign.tip_23=frOthinG moBs yelp levels.features.sign.tip_24=CoCoOn furor rises levels.features.sign.burn=As you try to read the sign it bursts into greenish flames. +levels.painters.massgravepainter$bones.name=Mass grave +levels.painters.massgravepainter$bones.desc=bones litter the floor, what happened here? +levels.painters.ritualsitepainter$ritualmarker.name=Ritual marker +levels.painters.ritualsitepainter$ritualmarker.desc=A painted marker for some dark ritual. Candles are usually placed on the four corners. +levels.painters.weakfloorpainter$hiddenwell.name=Distant well +levels.painters.weakfloorpainter$hiddenwell.desc=You can just make out a well in the depths below, perhaps there is something down there? + +levels.traps.alarmtrap.name=Alarm trap +levels.traps.alamtrap.alarm=The trap emits a piercing sound that echoes throughout the dungeon! +levels.traps.alarmtrap.desc=This trap seems to be tied to a loud alarm mechanism. Triggering it will likely alert everything on the level +levels.traps.blazingtrap.name=Blazing trap +levels.traps.blazingtrap.desc=Stepping on this trap will ignite a powerful chemical mixture, setting a wide area ablaze. +levels.traps.chillingtrap.name=Chilling trap +levels.traps.chillingtrap.ondeath=You succumb to the chilling trap... +levels.traps.chillingtrap.desc=When activated, chemicals in this trap will trigger a snap-frost at its location. +levels.traps.confusiontrap.name=Confusion gas trap +levels.traps.confusiontrap.desc=Triggering this trap will set a cloud of confusion gas loose within the immediate area. +levels.traps.cursingtrap.name=Cursing trap +levels.traps.cursingtrap.curse=Your worn equipment becomes cursed! +levels.traps.cursingtrap.desc=This trap contains the same malevolent magic found in cursed equipment. Triggering it will curse all worn items, and all items in the immediate area. +levels.traps.disarmingtrap.name=Disarming trap +levels.traps.disarmingtrap.disarm=Your weapon is teleported away! +levels.traps.disarmingtrap.desc=This trap contains very specific teleportation magic, which will warp the weapon of its victim to some other location. +levels.traps.disintegrationtrap.name=Disintegration trap +levels.traps.disintegrationtrap.one=the trap disintegrates your %s! +levels.traps.disintegrationtrap.some=the trap disintegrates some of your %s! +levels.traps.disintegrationtrap.ondeath=You were killed by the disintegration trap... +levels.traps.disintegrationtrap.desc=When triggered, this trap will lance the target with beams of disintegration, dealing significant damage and destroying items. +levels.traps.distortiontrap.name=Distortion trap +levels.traps.distortiontrap.desc=Built from strange magic of unknown origin, this trap will shift and morph the world around you. +levels.traps.explosivetrap.name=Explosive trap +levels.traps.explosivetrap.desc=This trap contains some powdered explosive and a trigger mechanism. Activating it will cause an explosion in the immediate area. +levels.traps.firetrap.name=Fire trap +levels.traps.firetrap.desc=Stepping on this trap will ignite a chemical mixture, setting the immediate area aflame. +levels.traps.flashingtrap.name=Flashing trap +levels.traps.flashingtrap.desc=On activation, this trap will ignite a potent flashing powder stored within, temporarily blinding and crippling its victim. +levels.traps.flocktrap.name=Flock trap +levels.traps.flocktrap.desc=Perhaps a joke from some amateur mage, triggering this trap will create a flock of magical sheep. +levels.traps.frosttrap.name=Frost trap +levels.traps.frosttrap.ondeath=You succumb to the freezing trap... +levels.traps.frosttrap.desc=When activated, chemicals in this trap will trigger a powerful snap-frost at its location. +levels.traps.grimtrap.name=Grim trap +levels.traps.grimtrap.ondeath=You were killed by the blast of a grim trap... +levels.traps.grimtrap.desc=Extremely powerful destructive magic is stored within this trap, enough to instantly kill all but the healthiest of heroes. Triggering it will send a ranged blast of lethal magic towards the nearest character. +levels.traps.grippingtrap.name=Gripping trap +levels.traps.grippingtrap.desc=Triggering this trap will send barbed claws along the ground, damaging the victims feet and rooting them in place. +levels.traps.guardiantrap.name=Guardian trap +levels.traps.guardiantrap.alarm=The trap emits a piercing sound that echoes throughout the dungeon! +levels.traps.guardiantrap.desc=This trap is tied to a strange magical mechanism, which will summon guardians and alert all enemies on the floor. +levels.traps.guardiantrap$guardian.name=summoned guardian +levels.traps.guardiantrap$guardian.desc=This blue apparition seems to be a summoned echo of one of the dungeon's stone guardians.\n\nWhile the statue itself is almost incorporeal, the _%s_, it's wielding, looks real. +levels.traps.lightningtrap.name=Lightning trap +levels.traps.lightningtrap.ondeath=You were killed by a discharge of a lightning trap... +levels.traps.lightningtrap.desc=A mechanism with a large amount of energy stored into it. Triggering the trap will discharge that energy into whatever activates it. +levels.traps.oozetrap.name=Ooze trap +levels.traps.oozetrap.desc=This trap will splash out caustic ooze when activated, which will burn until it is washed away. +levels.traps.paralytictrap.name=Paralytic gas trap +levels.traps.paralytictrap.desc=Triggering this trap will set a cloud of paralytic gas loose within the surrounding area. +levels.traps.pitfalltrap.name=Pitfall trap +levels.traps.pitfalltrap.desc=This pressure plate rests atop a fairly weak floor, and will likely collapse into a pit if it is pressed. +levels.traps.poisontrap.name=Poison trap +levels.traps.poisontrap.desc=A small dart-blower must be hidden nearby, activating this trap will cause it to shoot a poisoned dart at you. +levels.traps.rockfalltrap.name=Rockfall trap +levels.traps.rockfalltrap.ondeath=You were crushed by the rockfall trap... +levels.traps.rockfalltrap.desc=This trap is connected to a series of loose rocks above, triggering it will cause them to come crashing down. +levels.traps.speartrap.name=Spear trap +levels.traps.speartrap.ondeath=You were skewered by the spear trap... +levels.traps.speartrap.desc=The classic spear trap, primitive but effective. Due to their simple nature, these traps can activate many times without breaking. +levels.traps.summoningtrap.name=Summoning trap +levels.traps.summoningtrap.desc=Triggering this trap will summon a number of this area's monsters to this location. +levels.traps.teleportationtrap.name=Teleportation trap +levels.traps.teleportationtrap.desc=Whatever triggers this trap will be warped to some other location on this floor. +levels.traps.toxictrap.name=Toxic gas trap +levels.traps.toxictrap.desc=Triggering this trap will set a cloud of toxic gas loose within the surrounding area. +levels.traps.venomtrap.name=Venom gas trap +levels.traps.venomtrap.desc=Triggering this trap will set a cloud of deadly venom gas loose within the immediate area. +levels.traps.warpingtrap.name=Warping trap +levels.traps.warpingtrap.desc=Whatever triggers this trap will be warped to some other location in the dungeon. +levels.traps.weakeningtrap.name=Weakening trap +levels.traps.weakeningtrap.desc=Dark magic in this trap sucks the energy out of anything that comes into contact with it. +levels.traps.worntrap.name=Worn out trap +levels.traps.worntrap.nothing=nothing happens.. +levels.traps.worntrap.desc=Due to age and possibly poor workmanship, it looks like this trap has worn to the point where it won't do anything when triggered. + items.bags.bag.name=backpack