v0.6.4: enemies killed by chasms now award 50% exp

This commit is contained in:
Evan Debenham 2018-03-23 15:12:28 -04:00
parent 221d35f324
commit 0c4eaec8e0
4 changed files with 13 additions and 4 deletions

View File

@ -61,6 +61,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Shocki
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.MissileWeapon;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.darts.ShockingDart;
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
import com.shatteredpixel.shatteredpixeldungeon.levels.features.Chasm;
import com.shatteredpixel.shatteredpixeldungeon.levels.features.Door;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
@ -334,7 +335,7 @@ public abstract class Char extends Actor {
public void die( Object src ) {
destroy();
sprite.die();
if (src != Chasm.class) sprite.die();
}
public boolean isAlive() {

View File

@ -48,6 +48,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.TimekeepersHourg
import com.shatteredpixel.shatteredpixeldungeon.items.rings.Ring;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfAccuracy;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfWealth;
import com.shatteredpixel.shatteredpixeldungeon.levels.features.Chasm;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
@ -556,6 +557,12 @@ public abstract class Mob extends Char {
@Override
public void die( Object cause ) {
if (cause == Chasm.class){
//50% chance to round up, 50% to round down
if (EXP % 2 == 1) EXP += Random.Int(2);
EXP /= 2;
}
super.die( cause );
if (alignment == Alignment.ENEMY){

View File

@ -27,6 +27,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon;
import com.shatteredpixel.shatteredpixeldungeon.levels.features.Chasm;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.sprites.SkeletonSprite;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
@ -35,8 +36,6 @@ import com.watabou.utils.PathFinder;
import com.watabou.utils.Random;
public class Skeleton extends Mob {
private static final String TXT_HERO_KILLED = "You were killed by the explosion of bones...";
{
spriteClass = SkeletonSprite.class;
@ -64,6 +63,8 @@ public class Skeleton extends Mob {
super.die( cause );
if (cause == Chasm.class) return;
boolean heroKilled = false;
for (int i = 0; i < PathFinder.NEIGHBOURS8.length; i++) {
Char ch = findChar( pos + PathFinder.NEIGHBOURS8[i] );

View File

@ -114,7 +114,7 @@ public class Chasm {
}
public static void mobFall( Mob mob ) {
mob.die( null );
mob.die( Chasm.class );
((MobSprite)mob.sprite).fall();
}