From 14f4d4aad618a9bf0b6e9441b087c825d6c1ffcc Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Fri, 23 Oct 2015 02:40:09 -0400 Subject: [PATCH] v0.3.2: lotsa quest polish --- .../actors/mobs/Mob.java | 8 +++---- .../actors/mobs/NewbornElemental.java | 2 +- .../actors/mobs/RotHeart.java | 8 +++++-- .../actors/mobs/RotLasher.java | 24 +++++++++++++++---- .../actors/mobs/npcs/Wandmaker.java | 9 ++++--- 5 files changed, 37 insertions(+), 14 deletions(-) diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mob.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mob.java index 11f70cc7b..25bd5b26c 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mob.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mob.java @@ -518,7 +518,7 @@ public abstract class Mob extends Char { public String status(); } - private class Sleeping implements AiState { + protected class Sleeping implements AiState { 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"; @@ -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"; @@ -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"; diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/NewbornElemental.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/NewbornElemental.java index 601df1cd7..6e2c1f2c9 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/NewbornElemental.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/NewbornElemental.java @@ -61,7 +61,7 @@ public class NewbornElemental extends Elemental { public String description() { 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" + - "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. " + "Its offensive capabilities are still great though, caution is advised."; } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/RotHeart.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/RotHeart.java index 88d518006..1650a4556 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/RotHeart.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/RotHeart.java @@ -40,6 +40,8 @@ public class RotHeart extends Mob { HP = HT = 80; defenseSkill = 0; + EXP = 4; + loot = Wandmaker.Rotberry.Seed.class; lootChance = 1f; @@ -97,10 +99,12 @@ public class RotHeart extends Mob { @Override public String description() { 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> IMMUNITIES = new HashSet>(); + private static final HashSet> IMMUNITIES = new HashSet<>(); static { IMMUNITIES.add( ToxicGas.class ); } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/RotLasher.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/RotLasher.java index 699e01315..bed721058 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/RotLasher.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/RotLasher.java @@ -28,6 +28,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple; import com.shatteredpixel.shatteredpixeldungeon.items.Generator; import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain; import com.shatteredpixel.shatteredpixeldungeon.sprites.RotLasherSprite; +import com.shatteredpixel.shatteredpixeldungeon.utils.Utils; import com.watabou.utils.Random; import java.util.HashSet; @@ -39,12 +40,14 @@ public class RotLasher extends Mob { spriteClass = RotLasherSprite.class; HP = HT = 40; - defenseSkill = 4; + defenseSkill = 0; + + EXP = 1; loot = Generator.Category.SEED; lootChance = 1f; - state = WANDERING; + state = WANDERING = new Waiting(); } @Override @@ -70,6 +73,11 @@ public class RotLasher extends Mob { return false; } + @Override + protected boolean getFurther(int target) { + return false; + } + @Override public int damageRoll() { return Random.NormalIntRange(4, 12); @@ -88,10 +96,12 @@ public class RotLasher extends Mob { @Override public String description() { 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> IMMUNITIES = new HashSet>(); + private static final HashSet> IMMUNITIES = new HashSet<>(); static { IMMUNITIES.add( ToxicGas.class ); } @@ -101,4 +111,10 @@ public class RotLasher extends Mob { return IMMUNITIES; } + private class Waiting extends Mob.Wandering{ + @Override + public String status() { + return Utils.format("This %s is idle", name); + } + } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Wandmaker.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Wandmaker.java index 5a7686b4d..797fcff2a 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Wandmaker.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Wandmaker.java @@ -238,7 +238,7 @@ public class Wandmaker extends NPC { @Override public String description() { 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."; } @@ -395,11 +395,14 @@ public class Wandmaker extends NPC { 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 { 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;