v0.3.2: rebalanced earlygame enemy stats and distributions
This commit is contained in:
parent
71e78f23c4
commit
2e1e6547a3
|
@ -76,11 +76,11 @@ public class Bestiary {
|
||||||
classes = new Class<?>[]{ Rat.class, Gnoll.class };
|
classes = new Class<?>[]{ Rat.class, Gnoll.class };
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
chances = new float[]{ 1, 2, 1, 0.02f };
|
chances = new float[]{ 2, 4, 1, 1 };
|
||||||
classes = new Class<?>[]{ Rat.class, Gnoll.class, Crab.class, Swarm.class };
|
classes = new Class<?>[]{ Rat.class, Gnoll.class, Crab.class, Swarm.class };
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
chances = new float[]{ 1, 2, 3, 0.02f, 0.01f, 0.01f };
|
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 };
|
classes = new Class<?>[]{ Rat.class, Gnoll.class, Crab.class, Swarm.class, Skeleton.class, Thief.class };
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -94,15 +94,15 @@ public class Bestiary {
|
||||||
classes = new Class<?>[]{ Skeleton.class, Thief.class, Swarm.class, Shaman.class };
|
classes = new Class<?>[]{ Skeleton.class, Thief.class, Swarm.class, Shaman.class };
|
||||||
break;
|
break;
|
||||||
case 7:
|
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 };
|
classes = new Class<?>[]{ Skeleton.class, Shaman.class, Thief.class, Swarm.class };
|
||||||
break;
|
break;
|
||||||
case 8:
|
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 };
|
classes = new Class<?>[]{ Skeleton.class, Shaman.class, Gnoll.class, Thief.class, Swarm.class, Bat.class };
|
||||||
break;
|
break;
|
||||||
case 9:
|
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 };
|
classes = new Class<?>[]{ Skeleton.class, Shaman.class, Thief.class, Swarm.class, Bat.class, Brute.class };
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ public class Crab extends Mob {
|
||||||
defenseSkill = 5;
|
defenseSkill = 5;
|
||||||
baseSpeed = 2f;
|
baseSpeed = 2f;
|
||||||
|
|
||||||
EXP = 3;
|
EXP = 4;
|
||||||
maxLvl = 9;
|
maxLvl = 9;
|
||||||
|
|
||||||
loot = new MysteryMeat();
|
loot = new MysteryMeat();
|
||||||
|
|
|
@ -49,7 +49,7 @@ public class Gnoll extends Mob {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int attackSkill( Char target ) {
|
public int attackSkill( Char target ) {
|
||||||
return 11;
|
return 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -32,14 +32,14 @@ public class Rat extends Mob {
|
||||||
spriteClass = RatSprite.class;
|
spriteClass = RatSprite.class;
|
||||||
|
|
||||||
HP = HT = 8;
|
HP = HT = 8;
|
||||||
defenseSkill = 3;
|
defenseSkill = 2;
|
||||||
|
|
||||||
maxLvl = 5;
|
maxLvl = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int damageRoll() {
|
public int damageRoll() {
|
||||||
return Random.NormalIntRange( 1, 5 );
|
return Random.NormalIntRange( 1, 4 );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -46,15 +46,16 @@ public class Swarm extends Mob {
|
||||||
name = "swarm of flies";
|
name = "swarm of flies";
|
||||||
spriteClass = SwarmSprite.class;
|
spriteClass = SwarmSprite.class;
|
||||||
|
|
||||||
HP = HT = 80;
|
HP = HT = 50;
|
||||||
defenseSkill = 5;
|
defenseSkill = 5;
|
||||||
|
|
||||||
maxLvl = 10;
|
EXP = 3;
|
||||||
|
maxLvl = 9;
|
||||||
|
|
||||||
flying = true;
|
flying = true;
|
||||||
|
|
||||||
loot = new PotionOfHealing();
|
loot = new PotionOfHealing();
|
||||||
lootChance = 0.2f; //by default, see die()
|
lootChance = 0.1667f; //by default, see die()
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final float SPLIT_DELAY = 1f;
|
private static final float SPLIT_DELAY = 1f;
|
||||||
|
@ -73,11 +74,12 @@ public class Swarm extends Mob {
|
||||||
public void restoreFromBundle( Bundle bundle ) {
|
public void restoreFromBundle( Bundle bundle ) {
|
||||||
super.restoreFromBundle( bundle );
|
super.restoreFromBundle( bundle );
|
||||||
generation = bundle.getInt( GENERATION );
|
generation = bundle.getInt( GENERATION );
|
||||||
|
if (generation > 0) EXP = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int damageRoll() {
|
public int damageRoll() {
|
||||||
return Random.NormalIntRange( 2, 4 );
|
return Random.NormalIntRange( 1, 4 );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -128,6 +130,7 @@ public class Swarm extends Mob {
|
||||||
private Swarm split() {
|
private Swarm split() {
|
||||||
Swarm clone = new Swarm();
|
Swarm clone = new Swarm();
|
||||||
clone.generation = generation + 1;
|
clone.generation = generation + 1;
|
||||||
|
clone.EXP = 0;
|
||||||
if (buff( Burning.class ) != null) {
|
if (buff( Burning.class ) != null) {
|
||||||
Buff.affect( clone, Burning.class ).reignite( clone );
|
Buff.affect( clone, Burning.class ).reignite( clone );
|
||||||
}
|
}
|
||||||
|
@ -143,7 +146,7 @@ public class Swarm extends Mob {
|
||||||
@Override
|
@Override
|
||||||
public void die( Object cause ){
|
public void die( Object cause ){
|
||||||
//sets drop chance
|
//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 );
|
super.die( cause );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -550,7 +550,7 @@ public class Ghost extends NPC {
|
||||||
name = "great crab";
|
name = "great crab";
|
||||||
spriteClass = GreatCrabSprite.class;
|
spriteClass = GreatCrabSprite.class;
|
||||||
|
|
||||||
HP = HT = 30;
|
HP = HT = 25;
|
||||||
defenseSkill = 0; //see damage()
|
defenseSkill = 0; //see damage()
|
||||||
baseSpeed = 1f;
|
baseSpeed = 1f;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user