v2.5.2: now only some flying chars visually fall into pits on death
This commit is contained in:
@@ -30,7 +30,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Adrenaline;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.AllyBuff;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Amok;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invulnerability;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.ArcaneArmor;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.AscensionChallenge;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Barkskin;
|
||||
@@ -55,6 +54,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Fury;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Haste;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hex;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hunger;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invulnerability;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LifeLink;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LostInventory;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MagicalSleep;
|
||||
@@ -897,7 +897,7 @@ public abstract class Char extends Actor {
|
||||
destroy();
|
||||
if (src != Chasm.class) {
|
||||
sprite.die();
|
||||
if (flying && Dungeon.level != null && sprite instanceof MobSprite && Dungeon.level.map[pos] == Terrain.CHASM){
|
||||
if (!flying && Dungeon.level != null && sprite instanceof MobSprite && Dungeon.level.map[pos] == Terrain.CHASM){
|
||||
((MobSprite) sprite).fall();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -225,6 +225,12 @@ public class SpiritHawk extends ArmorAbility {
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void die(Object cause) {
|
||||
flying = false;
|
||||
super.die(cause);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void spend(float time) {
|
||||
super.spend(time);
|
||||
|
||||
@@ -62,7 +62,13 @@ public class Bat extends Mob {
|
||||
public int drRoll() {
|
||||
return super.drRoll() + Random.NormalIntRange(0, 4);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void die(Object cause) {
|
||||
flying = false;
|
||||
super.die(cause);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int attackProc( Char enemy, int damage ) {
|
||||
damage = super.attackProc( enemy, damage );
|
||||
|
||||
@@ -80,6 +80,12 @@ public class Bee extends Mob {
|
||||
potHolder = bundle.getInt( POTHOLDER );
|
||||
if (bundle.contains(ALIGMNENT)) alignment = bundle.getEnum( ALIGMNENT, Alignment.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void die(Object cause) {
|
||||
flying = false;
|
||||
super.die(cause);
|
||||
}
|
||||
|
||||
public void spawn( int level ) {
|
||||
this.level = level;
|
||||
|
||||
@@ -113,6 +113,12 @@ public class CrystalWisp extends Mob{
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void die(Object cause) {
|
||||
flying = false;
|
||||
super.die(cause);
|
||||
}
|
||||
|
||||
//used so resistances can differentiate between melee and magical attacks
|
||||
public static class LightBeam {}
|
||||
|
||||
|
||||
@@ -121,6 +121,12 @@ public abstract class Elemental extends Mob {
|
||||
|
||||
return super.act();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void die(Object cause) {
|
||||
flying = false;
|
||||
super.die(cause);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean canAttack( Char enemy ) {
|
||||
|
||||
@@ -154,6 +154,12 @@ public class Eye extends Mob {
|
||||
if (beamCharged) dmg /= 4;
|
||||
super.damage(dmg, src);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void die(Object cause) {
|
||||
flying = false;
|
||||
super.die(cause);
|
||||
}
|
||||
|
||||
//used so resistances can differentiate between melee and magical attacks
|
||||
public static class DeathGaze{}
|
||||
|
||||
@@ -35,6 +35,8 @@ public class Rat extends Mob {
|
||||
|
||||
HP = HT = 8;
|
||||
defenseSkill = 2;
|
||||
|
||||
flying = true;
|
||||
|
||||
maxLvl = 5;
|
||||
}
|
||||
|
||||
@@ -74,6 +74,12 @@ public class Swarm extends Mob {
|
||||
generation = bundle.getInt( GENERATION );
|
||||
if (generation > 0) EXP = 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void die(Object cause) {
|
||||
flying = false;
|
||||
super.die(cause);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int damageRoll() {
|
||||
|
||||
Reference in New Issue
Block a user