v0.3.2: lotsa quest polish

This commit is contained in:
Evan Debenham 2015-10-23 02:40:09 -04:00
parent 2c3b12a1a7
commit 14f4d4aad6
5 changed files with 37 additions and 14 deletions

View File

@ -518,7 +518,7 @@ public abstract class Mob extends Char {
public String status(); public String status();
} }
private class Sleeping implements AiState { protected class Sleeping implements AiState {
public static final String TAG = "SLEEPING"; public static final String TAG = "SLEEPING";
@ -558,7 +558,7 @@ public abstract class Mob extends Char {
} }
} }
private class Wandering implements AiState { protected class Wandering implements AiState {
public static final String TAG = "WANDERING"; public static final String TAG = "WANDERING";
@ -595,7 +595,7 @@ public abstract class Mob extends Char {
} }
} }
private class Hunting implements AiState { protected class Hunting implements AiState {
public static final String TAG = "HUNTING"; public static final String TAG = "HUNTING";
@ -669,7 +669,7 @@ public abstract class Mob extends Char {
} }
} }
private class Passive implements AiState { protected class Passive implements AiState {
public static final String TAG = "PASSIVE"; public static final String TAG = "PASSIVE";

View File

@ -61,7 +61,7 @@ public class NewbornElemental extends Elemental {
public String description() { public String description() {
return "Fire elementals are a byproduct of summoning greater entities. " + return "Fire elementals are a byproduct of summoning greater entities. " +
"They are too chaotic in their nature to be controlled by even the most powerful demonologist.\n\n" + "They are too chaotic in their nature to be controlled by even the most powerful demonologist.\n\n" +
"This fire elemental is freshy summoned, and is waekened as a result. " + "This fire elemental is freshy summoned, and is weakened as a result. " +
"In this state is it especially vulnerable to the cold. " + "In this state is it especially vulnerable to the cold. " +
"Its offensive capabilities are still great though, caution is advised."; "Its offensive capabilities are still great though, caution is advised.";
} }

View File

@ -40,6 +40,8 @@ public class RotHeart extends Mob {
HP = HT = 80; HP = HT = 80;
defenseSkill = 0; defenseSkill = 0;
EXP = 4;
loot = Wandmaker.Rotberry.Seed.class; loot = Wandmaker.Rotberry.Seed.class;
lootChance = 1f; lootChance = 1f;
@ -97,10 +99,12 @@ public class RotHeart extends Mob {
@Override @Override
public String description() { public String description() {
return return
"heart"; "A Rotberry's fruit is very unique. Instead of rotting away and providing nutrients, the fruit grows, " +
"hardens, and encompasses the seed. It provides protection for the internal organs which grow " +
"inside the fruit. This giant orb is referred to as the heart of an adult rotberry plant.";
} }
private static final HashSet<Class<?>> IMMUNITIES = new HashSet<Class<?>>(); private static final HashSet<Class<?>> IMMUNITIES = new HashSet<>();
static { static {
IMMUNITIES.add( ToxicGas.class ); IMMUNITIES.add( ToxicGas.class );
} }

View File

@ -28,6 +28,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple;
import com.shatteredpixel.shatteredpixeldungeon.items.Generator; import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain; import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
import com.shatteredpixel.shatteredpixeldungeon.sprites.RotLasherSprite; import com.shatteredpixel.shatteredpixeldungeon.sprites.RotLasherSprite;
import com.shatteredpixel.shatteredpixeldungeon.utils.Utils;
import com.watabou.utils.Random; import com.watabou.utils.Random;
import java.util.HashSet; import java.util.HashSet;
@ -39,12 +40,14 @@ public class RotLasher extends Mob {
spriteClass = RotLasherSprite.class; spriteClass = RotLasherSprite.class;
HP = HT = 40; HP = HT = 40;
defenseSkill = 4; defenseSkill = 0;
EXP = 1;
loot = Generator.Category.SEED; loot = Generator.Category.SEED;
lootChance = 1f; lootChance = 1f;
state = WANDERING; state = WANDERING = new Waiting();
} }
@Override @Override
@ -70,6 +73,11 @@ public class RotLasher extends Mob {
return false; return false;
} }
@Override
protected boolean getFurther(int target) {
return false;
}
@Override @Override
public int damageRoll() { public int damageRoll() {
return Random.NormalIntRange(4, 12); return Random.NormalIntRange(4, 12);
@ -88,10 +96,12 @@ public class RotLasher extends Mob {
@Override @Override
public String description() { public String description() {
return return
"lasher"; "The rot lasher is a part of a mature rotberry plant's root structure, and also their primary means of defence. " +
"Lashers are stuck into the ground, but will violently assault anything that gets near to them. " +
"When there is no nearby prey, they stand motionless, attempting to blend in with surrounding vegetation.";
} }
private static final HashSet<Class<?>> IMMUNITIES = new HashSet<Class<?>>(); private static final HashSet<Class<?>> IMMUNITIES = new HashSet<>();
static { static {
IMMUNITIES.add( ToxicGas.class ); IMMUNITIES.add( ToxicGas.class );
} }
@ -101,4 +111,10 @@ public class RotLasher extends Mob {
return IMMUNITIES; return IMMUNITIES;
} }
private class Waiting extends Mob.Wandering{
@Override
public String status() {
return Utils.format("This %s is idle", name);
}
}
} }

View File

@ -238,7 +238,7 @@ public class Wandmaker extends NPC {
@Override @Override
public String description() { public String description() {
return return
"This old but hale gentleman wears a slightly confused " + "This old yet hale gentleman wears a slightly confused " +
"expression. He is protected by a magic shield."; "expression. He is protected by a magic shield.";
} }
@ -395,11 +395,14 @@ public class Wandmaker extends NPC {
Journal.remove( Journal.Feature.WANDMAKER ); Journal.remove( Journal.Feature.WANDMAKER );
} }
} }
//TODO: externalize this into its own class in 0.3.3 (when merging source)
public static class Rotberry extends Plant { public static class Rotberry extends Plant {
private static final String TXT_DESC = private static final String TXT_DESC =
"Berries of this shrub taste like sweet, sweet death."; "The berries of a young rotberry shrub taste like sweet, sweet death.\n" +
"\n" +
"Regularly picking the berries of a rotberry shrub is essential, otherwise it will mature";
{ {
image = 7; image = 7;