From 2e1e6547a3ed95d76ce6737365301f7a9a6f641f Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Tue, 22 Sep 2015 03:21:26 -0400 Subject: [PATCH] v0.3.2: rebalanced earlygame enemy stats and distributions --- .../actors/mobs/Bestiary.java | 14 +++++++------- .../shatteredpixeldungeon/actors/mobs/Crab.java | 2 +- .../shatteredpixeldungeon/actors/mobs/Gnoll.java | 2 +- .../shatteredpixeldungeon/actors/mobs/Rat.java | 4 ++-- .../shatteredpixeldungeon/actors/mobs/Swarm.java | 15 +++++++++------ .../actors/mobs/npcs/Ghost.java | 2 +- 6 files changed, 21 insertions(+), 18 deletions(-) diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Bestiary.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Bestiary.java index b5d7766b8..beec5620c 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Bestiary.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Bestiary.java @@ -76,12 +76,12 @@ public class Bestiary { classes = new Class[]{ Rat.class, Gnoll.class }; break; case 3: - chances = new float[]{ 1, 2, 1, 0.02f }; - classes = new Class[]{ Rat.class, Gnoll.class, Crab.class, Swarm.class }; + chances = new float[]{ 2, 4, 1, 1 }; + classes = new Class[]{ Rat.class, Gnoll.class, Crab.class, Swarm.class }; break; case 4: - chances = new float[]{ 1, 2, 3, 0.02f, 0.01f, 0.01f }; - classes = new Class[]{ Rat.class, Gnoll.class, Crab.class, Swarm.class, Skeleton.class, Thief.class }; + chances = new float[]{ 1, 2, 3, 1, 0.01f, 0.01f }; + classes = new Class[]{ Rat.class, Gnoll.class, Crab.class, Swarm.class, Skeleton.class, Thief.class }; break; case 5: @@ -94,15 +94,15 @@ public class Bestiary { classes = new Class[]{ Skeleton.class, Thief.class, Swarm.class, Shaman.class }; break; case 7: - chances = new float[]{ 3, 1, 1, 1 }; + chances = new float[]{ 3, 1, 1, 0 }; classes = new Class[]{ Skeleton.class, Shaman.class, Thief.class, Swarm.class }; break; case 8: - chances = new float[]{ 3, 2, 1, 1, 1, 0.02f }; + chances = new float[]{ 3, 2, 1, 1, 0, 0.02f }; classes = new Class[]{ Skeleton.class, Shaman.class, Gnoll.class, Thief.class, Swarm.class, Bat.class }; break; case 9: - chances = new float[]{ 3, 3, 1, 1, 0.02f, 0.01f }; + chances = new float[]{ 3, 3, 1, 0, 0.02f, 0.01f }; classes = new Class[]{ Skeleton.class, Shaman.class, Thief.class, Swarm.class, Bat.class, Brute.class }; break; diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Crab.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Crab.java index 77d322845..7071d0d38 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Crab.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Crab.java @@ -36,7 +36,7 @@ public class Crab extends Mob { defenseSkill = 5; baseSpeed = 2f; - EXP = 3; + EXP = 4; maxLvl = 9; loot = new MysteryMeat(); diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Gnoll.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Gnoll.java index 03929dfbb..962863305 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Gnoll.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Gnoll.java @@ -49,7 +49,7 @@ public class Gnoll extends Mob { @Override public int attackSkill( Char target ) { - return 11; + return 10; } @Override diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Rat.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Rat.java index ffed54650..dc292fd26 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Rat.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Rat.java @@ -32,14 +32,14 @@ public class Rat extends Mob { spriteClass = RatSprite.class; HP = HT = 8; - defenseSkill = 3; + defenseSkill = 2; maxLvl = 5; } @Override public int damageRoll() { - return Random.NormalIntRange( 1, 5 ); + return Random.NormalIntRange( 1, 4 ); } @Override diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Swarm.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Swarm.java index 004f26b7a..4fa0a1611 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Swarm.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Swarm.java @@ -46,15 +46,16 @@ public class Swarm extends Mob { name = "swarm of flies"; spriteClass = SwarmSprite.class; - HP = HT = 80; + HP = HT = 50; defenseSkill = 5; - - maxLvl = 10; + + EXP = 3; + maxLvl = 9; flying = true; loot = new PotionOfHealing(); - lootChance = 0.2f; //by default, see die() + lootChance = 0.1667f; //by default, see die() } private static final float SPLIT_DELAY = 1f; @@ -73,11 +74,12 @@ public class Swarm extends Mob { public void restoreFromBundle( Bundle bundle ) { super.restoreFromBundle( bundle ); generation = bundle.getInt( GENERATION ); + if (generation > 0) EXP = 0; } @Override public int damageRoll() { - return Random.NormalIntRange( 2, 4 ); + return Random.NormalIntRange( 1, 4 ); } @Override @@ -128,6 +130,7 @@ public class Swarm extends Mob { private Swarm split() { Swarm clone = new Swarm(); clone.generation = generation + 1; + clone.EXP = 0; if (buff( Burning.class ) != null) { Buff.affect( clone, Burning.class ).reignite( clone ); } @@ -143,7 +146,7 @@ public class Swarm extends Mob { @Override public void die( Object cause ){ //sets drop chance - lootChance = 1f/((5 + Dungeon.limitedDrops.swarmHP.count ) * (generation+1) ); + lootChance = 1f/((6 + 2*Dungeon.limitedDrops.swarmHP.count ) * (generation+1) ); super.die( cause ); } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Ghost.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Ghost.java index d267e1b04..fb9b20b00 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Ghost.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Ghost.java @@ -550,7 +550,7 @@ public class Ghost extends NPC { name = "great crab"; spriteClass = GreatCrabSprite.class; - HP = HT = 30; + HP = HT = 25; defenseSkill = 0; //see damage() baseSpeed = 1f;