v0.8.0: reskinned prison shamans as DM-100s
This commit is contained in:
parent
57ae9dd6df
commit
c803537ecd
|
@ -72,23 +72,23 @@ public class Bestiary {
|
|||
Thief.class,
|
||||
Swarm.class));
|
||||
case 7:
|
||||
//3x skeleton, 1x thief, 1x shaman, 1x guard
|
||||
//3x skeleton, 1x thief, 1x DM-100, 1x guard
|
||||
return new ArrayList<>(Arrays.asList(Skeleton.class, Skeleton.class, Skeleton.class,
|
||||
Thief.class,
|
||||
Shaman.class,
|
||||
DM100.class,
|
||||
Guard.class));
|
||||
case 8:
|
||||
//2x skeleton, 1x thief, 2x shaman, 2x guard, 1x necromancer
|
||||
//2x skeleton, 1x thief, 2x DM-100, 2x guard, 1x necromancer
|
||||
return new ArrayList<>(Arrays.asList(Skeleton.class, Skeleton.class,
|
||||
Thief.class,
|
||||
Shaman.class, Shaman.class,
|
||||
DM100.class, DM100.class,
|
||||
Guard.class, Guard.class,
|
||||
Necromancer.class));
|
||||
case 9: case 10:
|
||||
//1x skeleton, 1x thief, 2x shaman, 2x guard, 2x necromancer
|
||||
//1x skeleton, 1x thief, 2x DM-100, 2x guard, 2x necromancer
|
||||
return new ArrayList<>(Arrays.asList(Skeleton.class,
|
||||
Thief.class,
|
||||
Shaman.class, Shaman.class,
|
||||
DM100.class, DM100.class,
|
||||
Guard.class, Guard.class,
|
||||
Necromancer.class, Necromancer.class));
|
||||
|
||||
|
@ -109,14 +109,14 @@ public class Bestiary {
|
|||
return new ArrayList<>(Arrays.asList(
|
||||
Bat.class,
|
||||
Brute.class, Brute.class, Brute.class,
|
||||
Shaman.class,
|
||||
//DM100.class,
|
||||
Spinner.class));
|
||||
case 14: case 15:
|
||||
//1x bat, 3x brute, 1x shaman, 4x spinner
|
||||
return new ArrayList<>(Arrays.asList(
|
||||
Bat.class,
|
||||
Brute.class, Brute.class, Brute.class,
|
||||
Shaman.class,
|
||||
//DM100.class,
|
||||
Spinner.class, Spinner.class, Spinner.class, Spinner.class));
|
||||
|
||||
// City
|
||||
|
|
|
@ -28,18 +28,18 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ShamanSprite;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.DM100Sprite;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||
import com.watabou.noosa.Camera;
|
||||
import com.watabou.utils.Callback;
|
||||
import com.watabou.utils.Random;
|
||||
|
||||
public class Shaman extends Mob implements Callback {
|
||||
public class DM100 extends Mob implements Callback {
|
||||
|
||||
private static final float TIME_TO_ZAP = 1f;
|
||||
|
||||
{
|
||||
spriteClass = ShamanSprite.class;
|
||||
spriteClass = DM100Sprite.class;
|
||||
|
||||
HP = HT = 18;
|
||||
defenseSkill = 8;
|
||||
|
@ -51,6 +51,7 @@ public class Shaman extends Mob implements Callback {
|
|||
lootChance = 0.33f;
|
||||
|
||||
properties.add(Property.ELECTRIC);
|
||||
properties.add(Property.INORGANIC);
|
||||
}
|
||||
|
||||
@Override
|
|
@ -25,7 +25,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Charm;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Weakness;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Eye;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Shaman;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.DM100;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Warlock;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Yog;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor;
|
||||
|
@ -69,7 +69,7 @@ public class AntiMagic extends Armor.Glyph {
|
|||
RESISTS.add( WandOfTransfusion.class );
|
||||
RESISTS.add( WandOfWarding.Ward.class );
|
||||
|
||||
RESISTS.add( Shaman.LightningBolt.class );
|
||||
RESISTS.add( DM100.LightningBolt.class );
|
||||
RESISTS.add( Warlock.DarkBolt.class );
|
||||
RESISTS.add( Eye.DeathGaze.class );
|
||||
RESISTS.add( Yog.BurningFist.DarkBolt.class );
|
||||
|
|
|
@ -34,7 +34,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Paralysis;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Poison;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Weakness;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Eye;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Shaman;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.DM100;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Warlock;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Yog;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfBlastWave;
|
||||
|
@ -98,7 +98,7 @@ public class RingOfElements extends Ring {
|
|||
RESISTS.add( ToxicGas.class );
|
||||
RESISTS.add( Electricity.class );
|
||||
|
||||
RESISTS.add( Shaman.LightningBolt.class );
|
||||
RESISTS.add( DM100.LightningBolt.class );
|
||||
RESISTS.add( Warlock.DarkBolt.class );
|
||||
RESISTS.add( Eye.DeathGaze.class );
|
||||
RESISTS.add( Yog.BurningFist.DarkBolt.class );
|
||||
|
|
|
@ -24,35 +24,37 @@ package com.shatteredpixel.shatteredpixeldungeon.sprites;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Shaman;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.DM100;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.Lightning;
|
||||
import com.watabou.noosa.TextureFilm;
|
||||
import com.watabou.noosa.audio.Sample;
|
||||
|
||||
public class ShamanSprite extends MobSprite {
|
||||
//TODO currently just uses DM-300's sprite scaled to 60%
|
||||
public class DM100Sprite extends MobSprite {
|
||||
|
||||
public ShamanSprite() {
|
||||
public DM100Sprite () {
|
||||
super();
|
||||
|
||||
texture( Assets.SHAMAN );
|
||||
texture( Assets.DM300 );
|
||||
|
||||
TextureFilm frames = new TextureFilm( texture, 12, 15 );
|
||||
TextureFilm frames = new TextureFilm( texture, 22, 20 );
|
||||
|
||||
idle = new Animation( 2, true );
|
||||
idle.frames( frames, 0, 0, 0, 1, 0, 0, 1, 1 );
|
||||
idle = new Animation( 10, true );
|
||||
idle.frames( frames, 0, 1 );
|
||||
|
||||
run = new Animation( 12, true );
|
||||
run.frames( frames, 4, 5, 6, 7 );
|
||||
run = new Animation( 10, true );
|
||||
run.frames( frames, 2, 3 );
|
||||
|
||||
attack = new Animation( 12, false );
|
||||
attack.frames( frames, 2, 3, 0 );
|
||||
attack = new Animation( 15, false );
|
||||
attack.frames( frames, 4, 5, 6, 0 );
|
||||
|
||||
zap = attack.clone();
|
||||
|
||||
die = new Animation( 12, false );
|
||||
die.frames( frames, 8, 9, 10 );
|
||||
die = new Animation( 20, false );
|
||||
die.frames( frames, 0, 7, 0, 7, 0, 7, 0, 7, 0, 7, 0, 7, 8 );
|
||||
|
||||
play( idle );
|
||||
scale.set( 0.6f );
|
||||
}
|
||||
|
||||
public void zap( int pos ) {
|
||||
|
@ -60,9 +62,9 @@ public class ShamanSprite extends MobSprite {
|
|||
Char enemy = Actor.findChar(pos);
|
||||
|
||||
if (enemy != null) {
|
||||
parent.add(new Lightning(center(), enemy.sprite.destinationCenter(), (Shaman) ch));
|
||||
parent.add(new Lightning(center(), enemy.sprite.destinationCenter(), (DM100) ch));
|
||||
} else {
|
||||
parent.add(new Lightning(center(), pos, (Shaman) ch));
|
||||
parent.add(new Lightning(center(), pos, (DM100) ch));
|
||||
}
|
||||
Sample.INSTANCE.play( Assets.SND_LIGHTNING );
|
||||
|
|
@ -456,6 +456,10 @@ actors.mobs.causticslime.desc=This slime seems to have been tainted by the dark
|
|||
actors.mobs.crab.name=sewer crab
|
||||
actors.mobs.crab.desc=These huge crabs are at the top of the food chain in the sewers. They are extremely fast and their thick carapace can withstand heavy blows.
|
||||
|
||||
actors.mobs.dm100.name=DM-100
|
||||
actors.mobs.dm100.zap_kill=The lightning bolt killed you...
|
||||
actors.mobs.dm100.desc=The DM-100 is an early model of dwarven 'defense machine' which was designed to protect dwarven miners in the caves below. Their electrical shocks proved too weak however, and so they were gifted to the human prison above. The warden initially deemed them too cruel to use, but as the prisoners became more unruly they became a necessity.
|
||||
|
||||
actors.mobs.dm300.name=DM-300
|
||||
actors.mobs.dm300.notice=Unauthorised personnel detected.
|
||||
actors.mobs.dm300.defeated=Mission failed. Shutting down.
|
||||
|
@ -606,7 +610,7 @@ actors.mobs.newtengu$fireability$fireblob.desc=Tengu has thrown a fine powder th
|
|||
actors.mobs.newtengu$shockerability$shockerblob.desc=Electrical energy is building here, anything standing on this tile will be shocked next turn!
|
||||
actors.mobs.newtengu$shockerability$shockeritem.name=Shocker
|
||||
actors.mobs.newtengu$shockerability$shockeritem.cant_pickup=It's putting out too much electricity, you can't grab it!
|
||||
actors.mobs.newtengu$shockerability$shockeritem.desc=Tengu has thrown a curious machine here, which seems to be made of robot parts. The machine is constantly arcing electricity around it, but it seems to be going in a predictable pattern.\n\nWith all the electricity arcing around it, there's no way you can pick this up.
|
||||
actors.mobs.newtengu$shockerability$shockeritem.desc=Tengu has thrown a curious machine here, which seems to be made of DM-100 parts. The machine is constantly arcing electricity around it, but it seems to be going in a predictable pattern.\n\nWith all the electricity arcing around it, there's no way you can pick this up.
|
||||
|
||||
actors.mobs.oldtengu.name=Tengu
|
||||
actors.mobs.oldtengu.notice_mine=You're mine, %s!
|
||||
|
|
Loading…
Reference in New Issue
Block a user