V0.2.1 : WIP sprites for new quest bosses, plus a small Fetid Rat tweak.
This commit is contained in:
parent
e3da42ab34
commit
b048a3b242
BIN
assets/crab.png
BIN
assets/crab.png
Binary file not shown.
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 6.3 KiB |
BIN
assets/gnoll.png
BIN
assets/gnoll.png
Binary file not shown.
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 5.2 KiB |
|
@ -34,9 +34,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.food.MysteryMeat;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.CurareDart;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.CurareDart;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
|
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.*;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.CrabSprite;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.GnollSprite;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||||
import com.watabou.noosa.audio.Sample;
|
import com.watabou.noosa.audio.Sample;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||||
|
@ -61,8 +59,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.MissileWeapon;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.MissileWeapon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.SewerLevel;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.SewerLevel;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.FetidRatSprite;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.GhostSprite;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndQuest;
|
import com.shatteredpixel.shatteredpixeldungeon.windows.WndQuest;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndSadGhost;
|
import com.shatteredpixel.shatteredpixeldungeon.windows.WndSadGhost;
|
||||||
import com.watabou.utils.Bundle;
|
import com.watabou.utils.Bundle;
|
||||||
|
@ -407,7 +403,7 @@ public class Ghost extends Mob.NPC {
|
||||||
@Override
|
@Override
|
||||||
public int defenseProc( Char enemy, int damage ) {
|
public int defenseProc( Char enemy, int damage ) {
|
||||||
|
|
||||||
GameScene.add( Blob.seed( pos, 100, StenchGas.class ) );
|
GameScene.add( Blob.seed( pos, 20, StenchGas.class ) );
|
||||||
|
|
||||||
return super.defenseProc(enemy, damage);
|
return super.defenseProc(enemy, damage);
|
||||||
}
|
}
|
||||||
|
@ -422,18 +418,18 @@ public class Ghost extends Mob.NPC {
|
||||||
@Override
|
@Override
|
||||||
public String description() {
|
public String description() {
|
||||||
return
|
return
|
||||||
"Something is clearly wrong with this rat. Its matted fur and rotting skin are very " +
|
"Something is clearly wrong with this rat. Its greasy black fur and rotting skin are very " +
|
||||||
"different from the healthy rats you've seen previously. It's bright orange eyes " +
|
"different from the healthy rats you've seen previously. It's blood red eyes " +
|
||||||
"and larger size make it especially menacing.\n\n" +
|
"make it seem especially menacing.\n\n" +
|
||||||
"The rat carries a cloud of horrible stench with it, it's overpoweringly strong up close.\n\n" +
|
"The rat carries a cloud of horrible stench with it, it's overpoweringly strong up close.\n\n" +
|
||||||
"Dark ooze drips from the rat's teeth, it eats through the floor but seems to dissolve in water.";
|
"Dark ooze dribbles from the rat's mouth, it eats through the floor but seems to dissolve in water.";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class GnollTrickster extends Gnoll {
|
public static class GnollTrickster extends Gnoll {
|
||||||
{
|
{
|
||||||
name = "gnoll trickster";
|
name = "gnoll trickster";
|
||||||
spriteClass = GnollSprite.class;
|
spriteClass = GnollTricksterSprite.class;
|
||||||
|
|
||||||
HP = HT = 20;
|
HP = HT = 20;
|
||||||
defenseSkill = 4;
|
defenseSkill = 4;
|
||||||
|
@ -536,7 +532,7 @@ public class Ghost extends Mob.NPC {
|
||||||
public static class GreatCrab extends Crab {
|
public static class GreatCrab extends Crab {
|
||||||
{
|
{
|
||||||
name = "great crab";
|
name = "great crab";
|
||||||
spriteClass = CrabSprite.class;
|
spriteClass = GreatCrabSprite.class;
|
||||||
|
|
||||||
HP = HT = 30;
|
HP = HT = 30;
|
||||||
defenseSkill = 0; //see damage()
|
defenseSkill = 0; //see damage()
|
||||||
|
|
|
@ -27,7 +27,7 @@ public class CrabSprite extends MobSprite {
|
||||||
|
|
||||||
texture( Assets.CRAB );
|
texture( Assets.CRAB );
|
||||||
|
|
||||||
TextureFilm frames = new TextureFilm( texture, 16 );
|
TextureFilm frames = new TextureFilm( texture, 16, 16 );
|
||||||
|
|
||||||
idle = new Animation( 5, true );
|
idle = new Animation( 5, true );
|
||||||
idle.frames( frames, 0, 1, 0, 2 );
|
idle.frames( frames, 0, 1, 0, 2 );
|
||||||
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
package com.shatteredpixel.shatteredpixeldungeon.sprites;
|
||||||
|
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.IncendiaryDart;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||||
|
import com.watabou.noosa.MovieClip;
|
||||||
|
import com.watabou.noosa.TextureFilm;
|
||||||
|
import com.watabou.utils.Callback;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by Evan on 09/10/2014.
|
||||||
|
*/
|
||||||
|
public class GnollTricksterSprite extends MobSprite {
|
||||||
|
|
||||||
|
private Animation cast;
|
||||||
|
|
||||||
|
public GnollTricksterSprite() {
|
||||||
|
super();
|
||||||
|
|
||||||
|
texture( Assets.GNOLL );
|
||||||
|
|
||||||
|
TextureFilm frames = new TextureFilm( texture, 12, 15 );
|
||||||
|
|
||||||
|
idle = new MovieClip.Animation( 2, true );
|
||||||
|
idle.frames( frames, 21, 21, 21, 22, 21, 21, 22, 22 );
|
||||||
|
|
||||||
|
run = new MovieClip.Animation( 12, true );
|
||||||
|
run.frames( frames, 25, 26, 27, 28 );
|
||||||
|
|
||||||
|
attack = new MovieClip.Animation( 12, false );
|
||||||
|
attack.frames( frames, 23, 24, 21 );
|
||||||
|
|
||||||
|
cast = attack.clone();
|
||||||
|
|
||||||
|
die = new MovieClip.Animation( 12, false );
|
||||||
|
die.frames( frames, 29, 30, 31 );
|
||||||
|
|
||||||
|
play( idle );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void attack( int cell ) {
|
||||||
|
if (!Level.adjacent(cell, ch.pos)) {
|
||||||
|
|
||||||
|
((MissileSprite)parent.recycle( MissileSprite.class )).
|
||||||
|
reset( ch.pos, cell, new IncendiaryDart(), new Callback() {
|
||||||
|
@Override
|
||||||
|
public void call() {
|
||||||
|
ch.onAttackComplete();
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
|
||||||
|
play( cast );
|
||||||
|
turnTo( ch.pos , cell );
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
super.attack( cell );
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,38 @@
|
||||||
|
package com.shatteredpixel.shatteredpixeldungeon.sprites;
|
||||||
|
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||||
|
import com.watabou.noosa.MovieClip;
|
||||||
|
import com.watabou.noosa.TextureFilm;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by Evan on 09/10/2014.
|
||||||
|
*/
|
||||||
|
public class GreatCrabSprite extends MobSprite {
|
||||||
|
|
||||||
|
public GreatCrabSprite() {
|
||||||
|
super();
|
||||||
|
|
||||||
|
texture( Assets.CRAB );
|
||||||
|
|
||||||
|
TextureFilm frames = new TextureFilm( texture, 16, 16 );
|
||||||
|
|
||||||
|
idle = new MovieClip.Animation( 5, true );
|
||||||
|
idle.frames( frames, 16, 17, 16, 18 );
|
||||||
|
|
||||||
|
run = new MovieClip.Animation( 15, true );
|
||||||
|
run.frames( frames, 19, 20, 21, 22 );
|
||||||
|
|
||||||
|
attack = new MovieClip.Animation( 12, false );
|
||||||
|
attack.frames( frames, 23, 24, 25 );
|
||||||
|
|
||||||
|
die = new MovieClip.Animation( 12, false );
|
||||||
|
die.frames( frames, 26, 27, 28, 29 );
|
||||||
|
|
||||||
|
play( idle );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int blood() {
|
||||||
|
return 0xFFFFEA80;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user