v0.3.2: rebalanced earlygame enemy stats and distributions

This commit is contained in:
Evan Debenham 2015-09-22 03:21:26 -04:00
parent 71e78f23c4
commit 2e1e6547a3
6 changed files with 21 additions and 18 deletions

View File

@ -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;

View File

@ -36,7 +36,7 @@ public class Crab extends Mob {
defenseSkill = 5;
baseSpeed = 2f;
EXP = 3;
EXP = 4;
maxLvl = 9;
loot = new MysteryMeat();

View File

@ -49,7 +49,7 @@ public class Gnoll extends Mob {
@Override
public int attackSkill( Char target ) {
return 11;
return 10;
}
@Override

View File

@ -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

View File

@ -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 );
}

View File

@ -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;