v0.8.0: various adjustments to make the DM-300 fight easier to learn
This commit is contained in:
parent
b8fb981bfe
commit
e24eca94b4
|
@ -30,9 +30,17 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Barrier;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Barrier;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Charm;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Chill;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Frost;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Paralysis;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Paralysis;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Sleep;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Sleep;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Slow;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Terror;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Vertigo;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.BlobEmitter;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.BlobEmitter;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
|
||||||
|
@ -515,7 +523,7 @@ public class NewDM300 extends Mob {
|
||||||
}
|
}
|
||||||
Dungeon.level.cleanWalls();
|
Dungeon.level.cleanWalls();
|
||||||
Dungeon.observe();
|
Dungeon.observe();
|
||||||
spend(2f);
|
spend(2.5f);
|
||||||
|
|
||||||
for (int i : PathFinder.NEIGHBOURS8){
|
for (int i : PathFinder.NEIGHBOURS8){
|
||||||
if (Actor.findChar(pos+i) == null &&
|
if (Actor.findChar(pos+i) == null &&
|
||||||
|
@ -547,6 +555,15 @@ public class NewDM300 extends Mob {
|
||||||
|
|
||||||
{
|
{
|
||||||
immunities.add(Sleep.class);
|
immunities.add(Sleep.class);
|
||||||
|
|
||||||
|
resistances.add(Terror.class);
|
||||||
|
resistances.add(Charm.class);
|
||||||
|
resistances.add(Vertigo.class);
|
||||||
|
resistances.add(Cripple.class);
|
||||||
|
resistances.add(Chill.class);
|
||||||
|
resistances.add(Frost.class);
|
||||||
|
resistances.add(Roots.class);
|
||||||
|
resistances.add(Slow.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class FallingRocks extends Blob {
|
public static class FallingRocks extends Blob {
|
||||||
|
|
|
@ -108,7 +108,7 @@ public class Pylon extends Mob {
|
||||||
private void shockChar( Char ch ){
|
private void shockChar( Char ch ){
|
||||||
if (ch != null && !(ch instanceof NewDM300)){
|
if (ch != null && !(ch instanceof NewDM300)){
|
||||||
ch.sprite.flash();
|
ch.sprite.flash();
|
||||||
ch.damage(Random.NormalIntRange(15, 25), Electricity.class);
|
ch.damage(Random.NormalIntRange(10, 20), Electricity.class);
|
||||||
|
|
||||||
if (ch == Dungeon.hero && !ch.isAlive()){
|
if (ch == Dungeon.hero && !ch.isAlive()){
|
||||||
Dungeon.fail(NewDM300.class);
|
Dungeon.fail(NewDM300.class);
|
||||||
|
|
|
@ -719,7 +719,7 @@ public class NewCavesBossLevel extends Level {
|
||||||
Char ch = Actor.findChar(cell);
|
Char ch = Actor.findChar(cell);
|
||||||
if (ch != null && !(ch instanceof NewDM300)) {
|
if (ch != null && !(ch instanceof NewDM300)) {
|
||||||
Sample.INSTANCE.play( Assets.SND_LIGHTNING );
|
Sample.INSTANCE.play( Assets.SND_LIGHTNING );
|
||||||
ch.damage( Random.NormalIntRange(5, 15), Electricity.class);
|
ch.damage( Random.NormalIntRange(6, 12), Electricity.class);
|
||||||
ch.sprite.flash();
|
ch.sprite.flash();
|
||||||
|
|
||||||
if (ch == Dungeon.hero && !ch.isAlive()) {
|
if (ch == Dungeon.hero && !ch.isAlive()) {
|
||||||
|
@ -758,12 +758,12 @@ public class NewCavesBossLevel extends Level {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
float dist = Math.abs(energySourceSprite.x - x) + Math.abs(energySourceSprite.y - y);
|
|
||||||
dist /= DungeonTilemap.SIZE;
|
|
||||||
|
|
||||||
SparkParticle s = ((SparkParticle) emitter.recycle(SparkParticle.class));
|
SparkParticle s = ((SparkParticle) emitter.recycle(SparkParticle.class));
|
||||||
s.reset(x, y);
|
s.resetStatic(x, y);
|
||||||
s.setMaxSize( 8 - dist/6 );
|
s.speed.set((energySourceSprite.x + energySourceSprite.width/2f) - x,
|
||||||
|
(energySourceSprite.y + energySourceSprite.height/2f) - y);
|
||||||
|
s.speed.normalize().scale(DungeonTilemap.SIZE/2);
|
||||||
|
s.acc.set(s.speed);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -781,7 +781,7 @@ public class NewCavesBossLevel extends Level {
|
||||||
public void use( BlobEmitter emitter ) {
|
public void use( BlobEmitter emitter ) {
|
||||||
super.use( emitter );
|
super.use( emitter );
|
||||||
energySourceSprite = null;
|
energySourceSprite = null;
|
||||||
emitter.bound.set( 4/16f, 4/16f, 12/16f, 12/16f);
|
//emitter.bound.set( 4/16f, 4/16f, 12/16f, 12/16f);
|
||||||
emitter.pour(DIRECTED_SPARKS, 0.2f);
|
emitter.pour(DIRECTED_SPARKS, 0.2f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -130,7 +130,7 @@ levels.traps.worndarttrap.desc=A small dart-blower must be hidden nearby, activa
|
||||||
###levels
|
###levels
|
||||||
levels.newcavesbosslevel.wires_name=Exposed wiring
|
levels.newcavesbosslevel.wires_name=Exposed wiring
|
||||||
levels.newcavesbosslevel.wires_desc=The ground is partially dug up here, showing some large exposed wires. They must be connecting the various electrical machines together.\n\nThe wires must have some current running through them. If DM-300 steps here it may be able to draw power from there.
|
levels.newcavesbosslevel.wires_desc=The ground is partially dug up here, showing some large exposed wires. They must be connecting the various electrical machines together.\n\nThe wires must have some current running through them. If DM-300 steps here it may be able to draw power from there.
|
||||||
levels.newcavesbosslevel.energy_desc=The ground here is sparking with electricity, and is harmful to step on. The sparks seem to be stronger in some places than others... perhaps they lead to the power source?
|
levels.newcavesbosslevel.energy_desc=The ground here is sparking with electricity, and is harmful to step on. The sparks seem to be gravitating in a certain direction... perhaps they lead to the power source?
|
||||||
levels.newcavesbosslevel.gate_name=Metal gate
|
levels.newcavesbosslevel.gate_name=Metal gate
|
||||||
levels.newcavesbosslevel.gate_desc=A large metal gate that blocks the path into the dwarven metropolis. The metal box in the center is producing a loud humming noise, it must be connected to the circuitry and machines nearby. Perhaps destroying DM-300 will open the gate?
|
levels.newcavesbosslevel.gate_desc=A large metal gate that blocks the path into the dwarven metropolis. The metal box in the center is producing a loud humming noise, it must be connected to the circuitry and machines nearby. Perhaps destroying DM-300 will open the gate?
|
||||||
levels.newcavesbosslevel.gate_desc_broken=The gate must have been connected to DM-300 in some way, as it exploded when DM-300 was defeated. Now only broken pieces remain.
|
levels.newcavesbosslevel.gate_desc_broken=The gate must have been connected to DM-300 in some way, as it exploded when DM-300 was defeated. Now only broken pieces remain.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user