v0.3.1: added in new trap sprites (no shading yet), added descriptions to existing traps
This commit is contained in:
parent
f4898d903b
commit
9f02a93500
BIN
assets/traps.png
BIN
assets/traps.png
Binary file not shown.
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 9.0 KiB |
|
@ -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.";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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.";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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.";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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.";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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.";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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.";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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.";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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.";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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());
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user