v0.3.1: added in new trap sprites (no shading yet), added descriptions to existing traps

This commit is contained in:
Evan Debenham 2015-06-22 19:35:18 -04:00
parent f4898d903b
commit 9f02a93500
12 changed files with 93 additions and 21 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 9.0 KiB

View File

@ -20,10 +20,10 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.levels.traps;
import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite;
import com.watabou.noosa.audio.Sample;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
@ -31,10 +31,10 @@ import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
public class AlarmTrap extends Trap {
// 0xDD3333
{
name = "Alarm trap";
image = 4;
color = TrapSprite.RED;
shape = TrapSprite.DOTS;
}
@Override
@ -51,4 +51,10 @@ public class AlarmTrap extends Trap {
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.";
}
}

View File

@ -20,19 +20,19 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.levels.traps;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Fire;
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.FlameParticle;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite;
public class FireTrap extends Trap {
// 0xFF7708
{
name = "Fire trap";
image = 1;
color = TrapSprite.ORANGE;
shape = TrapSprite.DOTS;
}
@Override
@ -42,4 +42,9 @@ 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.";
}
}

View File

@ -27,13 +27,15 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Bleeding;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple;
import com.shatteredpixel.shatteredpixeldungeon.effects.Wound;
import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite;
import com.watabou.utils.Random;
public class GrippingTrap extends Trap {
{
name = "Gripping trap";
image = 6;
color = TrapSprite.GREY;
shape = TrapSprite.CROSSHAIR;
}
@Override
@ -51,4 +53,10 @@ 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.";
}
}

View File

@ -21,6 +21,7 @@
package com.shatteredpixel.shatteredpixeldungeon.levels.traps;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite;
import com.watabou.noosa.Camera;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.ResultDescriptions;
@ -39,7 +40,8 @@ public class LightningTrap extends Trap {
{
name = "Lightning trap";
image = 5;
color = TrapSprite.TEAL;
shape = TrapSprite.CROSSHAIR;
}
@Override
@ -73,4 +75,10 @@ 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 whever is nearby.";
}
}

View File

@ -21,17 +21,17 @@
package com.shatteredpixel.shatteredpixeldungeon.levels.traps;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ParalyticGas;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite;
public class ParalyticTrap extends Trap{
// 0xCCCC55
{
name = "Paralytic gas trap";
image = 2;
color = TrapSprite.YELLOW;
shape = TrapSprite.GRILL;
}
@Override
@ -40,4 +40,9 @@ 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.";
}
}

View File

@ -27,13 +27,14 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Poison;
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.PoisonParticle;
import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite;
public class PoisonTrap extends Trap{
// 0xBB66EE
{
name = "Poison trap";
image = 3;
color = TrapSprite.VIOLET;
shape = TrapSprite.CROSSHAIR;
}
@Override
@ -48,4 +49,9 @@ 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 pointed dart at you.";
}
}

View File

@ -30,16 +30,17 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTeleportation;
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite;
import com.watabou.utils.Random;
public class SummoningTrap extends Trap {
private static final float DELAY = 2f;
// 0x770088
{
name = "Summoning trap";
image = 7;
color = TrapSprite.TEAL;
shape = TrapSprite.WAVES;
}
@Override
@ -91,4 +92,9 @@ 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.";
}
}

View File

@ -21,17 +21,17 @@
package com.shatteredpixel.shatteredpixeldungeon.levels.traps;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite;
public class ToxicTrap extends Trap{
// 0x40CC55
{
name = "Toxic gas trap";
image = 0;
color = TrapSprite.GREEN;
shape = TrapSprite.GRILL;
}
@Override
@ -40,4 +40,9 @@ 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.";
}
}

View File

@ -35,7 +35,9 @@ public abstract class Trap implements Bundlable {
public String name;
public int image;
public int color;
public int shape;
public int pos;
public TrapSprite sprite;

View File

@ -34,6 +34,27 @@ public class TrapSprite extends Image {
private int pos = -1;
//trap colors
public static final int RED = 0;
public static final int ORANGE = 1;
public static final int YELLOW = 2;
public static final int GREEN = 3;
public static final int TEAL = 4;
public static final int VIOLET = 5;
public static final int WHITE = 6;
public static final int GREY = 7;
public static final int BLACK = 8;
//trap shapes
public static final int DOTS = 0;
public static final int WAVES = 1;
public static final int GRILL = 2;
public static final int STARS = 3;
public static final int DIAMOND = 4;
public static final int CROSSHAIR = 5;
public static final int LARGE_DOT = 6;
public TrapSprite() {
super( Assets.TRAPS );
@ -53,7 +74,7 @@ public class TrapSprite extends Image {
revive();
reset( trap.image + (((Dungeon.depth-1) / 5) * 8) );
reset( trap.color + (trap.shape * 16) );
alpha( 1f );
pos = trap.pos;

View File

@ -28,7 +28,7 @@ public class WndInfoTrap extends WndTitledMessage {
public WndInfoTrap(Trap trap) {
super(new TrapSprite( trap.image + (((Dungeon.depth-1) / 5) * 8) ), trap.name, trap.desc());
super(new TrapSprite( trap.color + (trap.shape * 16) ), trap.name, trap.desc());
}