v0.6.4: enemies killed by chasms now award 50% exp
This commit is contained in:
parent
221d35f324
commit
0c4eaec8e0
|
@ -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.MissileWeapon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.darts.ShockingDart;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.darts.ShockingDart;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.features.Chasm;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.features.Door;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.features.Door;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
|
||||||
|
@ -334,7 +335,7 @@ public abstract class Char extends Actor {
|
||||||
|
|
||||||
public void die( Object src ) {
|
public void die( Object src ) {
|
||||||
destroy();
|
destroy();
|
||||||
sprite.die();
|
if (src != Chasm.class) sprite.die();
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isAlive() {
|
public boolean isAlive() {
|
||||||
|
|
|
@ -48,6 +48,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.TimekeepersHourg
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.rings.Ring;
|
import com.shatteredpixel.shatteredpixeldungeon.items.rings.Ring;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfAccuracy;
|
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfAccuracy;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfWealth;
|
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfWealth;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.features.Chasm;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||||
|
@ -556,6 +557,12 @@ public abstract class Mob extends Char {
|
||||||
@Override
|
@Override
|
||||||
public void die( Object cause ) {
|
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 );
|
super.die( cause );
|
||||||
|
|
||||||
if (alignment == Alignment.ENEMY){
|
if (alignment == Alignment.ENEMY){
|
||||||
|
|
|
@ -27,6 +27,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon;
|
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.messages.Messages;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.SkeletonSprite;
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.SkeletonSprite;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||||
|
@ -35,8 +36,6 @@ import com.watabou.utils.PathFinder;
|
||||||
import com.watabou.utils.Random;
|
import com.watabou.utils.Random;
|
||||||
|
|
||||||
public class Skeleton extends Mob {
|
public class Skeleton extends Mob {
|
||||||
|
|
||||||
private static final String TXT_HERO_KILLED = "You were killed by the explosion of bones...";
|
|
||||||
|
|
||||||
{
|
{
|
||||||
spriteClass = SkeletonSprite.class;
|
spriteClass = SkeletonSprite.class;
|
||||||
|
@ -64,6 +63,8 @@ public class Skeleton extends Mob {
|
||||||
|
|
||||||
super.die( cause );
|
super.die( cause );
|
||||||
|
|
||||||
|
if (cause == Chasm.class) return;
|
||||||
|
|
||||||
boolean heroKilled = false;
|
boolean heroKilled = false;
|
||||||
for (int i = 0; i < PathFinder.NEIGHBOURS8.length; i++) {
|
for (int i = 0; i < PathFinder.NEIGHBOURS8.length; i++) {
|
||||||
Char ch = findChar( pos + PathFinder.NEIGHBOURS8[i] );
|
Char ch = findChar( pos + PathFinder.NEIGHBOURS8[i] );
|
||||||
|
|
|
@ -114,7 +114,7 @@ public class Chasm {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void mobFall( Mob mob ) {
|
public static void mobFall( Mob mob ) {
|
||||||
mob.die( null );
|
mob.die( Chasm.class );
|
||||||
|
|
||||||
((MobSprite)mob.sprite).fall();
|
((MobSprite)mob.sprite).fall();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user