v2.3.0: balance adjustment to gnoll area:

- sapper HP down to 45 from 50
- guard damage range tightened a bit
- geomancer HP down to 120 from 200
- geomancer avg attack CD up by 12.5%
- thrown rock dmg reverted to 5-10
- geomancer no longer melees
This commit is contained in:
Evan Debenham
2023-12-03 15:58:13 -05:00
parent 4a6b65a567
commit 64be5ec538
4 changed files with 11 additions and 15 deletions

View File

@@ -1212,7 +1212,7 @@ actors.mobs.gnollgeomancer.name=gnoll geomancer
actors.mobs.gnollgeomancer.warning=The geomancer begins to stir as you start picking at its rock armor. Be ready for a fight if you continue!
actors.mobs.gnollgeomancer.alert=The geomancer awakens! The entire cave seems to shift around as it leaps away while laughing madly!
actors.mobs.gnollgeomancer.rock_kill=The flying boulder killed you...
actors.mobs.gnollgeomancer.desc=This impressively tall senior gnoll must be the source of the various earth-moving magic around here, and the organizer of all the gnoll activity. Unlike the gnoll sappers in the area, the geomancer is quite adept with its magic, and cannot be damaged by thrown or falling rocks. Its close-combat attacks are still very weak however.
actors.mobs.gnollgeomancer.desc=This impressively tall senior gnoll must be the source of the various earth-moving magic around here, and the organizer of all the gnoll activity. Unlike the gnoll sappers in the area, the geomancer is quite adept with its magic, and cannot be damaged by thrown or falling rocks. It doesn't have any way to fight in melee combat though.
actors.mobs.gnollgeomancer.desc_armor=The geomancer is currently encased in a layer of rock armor. _You'll need to get up close and break it away with your pickaxe before you can damage the geomancer._
actors.mobs.gnollgeomancer.desc_armor_sapper=_A nearby gnoll sapper is holding a device that is empowering the geomancer's rock armor. You won't be able to damage it at all right now!_
actors.mobs.gnollgeomancer.desc_sleeping=This impressively tall gnoll shaman is surrounded by a layer of rock, and looks almost like a statue. Looking closely you can see the rock magically move in time with the senior gnoll's breathing. It can't be harmed while encased in rock like this, and it appears to be enjoying a literal dirt nap.\n\nYou can probably break through the layers of rock with your pickaxe, but _be sure you're ready for a fight when you do so._ The geomancer must be the source of the various earth-moving magic around here, and the organizer of all the gnoll activity. _Defeating the gnolls scattered around here before fighting it might be a good idea._

View File

@@ -65,7 +65,7 @@ import java.util.ArrayList;
public class GnollGeomancer extends Mob {
{
HP = HT = 200;
HP = HT = 120;
spriteClass = GnollGeomancerSprite.class;
EXP = 20;
@@ -83,7 +83,7 @@ public class GnollGeomancer extends Mob {
properties.add(Property.BOSS);
}
private int abilityCooldown = Random.NormalIntRange(3, 5);
private int abilityCooldown = Random.NormalIntRange(3, 6);
private boolean lastAbilityWasRockfall;
private int throwingRockFromPos = -1;
@@ -250,7 +250,7 @@ public class GnollGeomancer extends Mob {
super.damage(dmg, src);
abilityCooldown -= dmg/15f;
abilityCooldown -= dmg/10f;
int newBracket = HP / hpBracket;
if (newBracket == 3) newBracket--; //full HP isn't its own bracket
@@ -572,13 +572,9 @@ public class GnollGeomancer extends Mob {
}
}
//does not approach enemies, but does melee if in range
if (canAttack(enemy)){
return super.act(enemyInFOV, justAlerted);
} else {
spend(TICK);
return true;
}
//does not perform regular attacks
spend(TICK);
return true;
}
}
@@ -659,7 +655,7 @@ public class GnollGeomancer extends Mob {
}
if (ch != null && !(ch instanceof GnollGeomancer)){
ch.damage(Random.NormalIntRange(8, 12), this);
ch.damage(Random.NormalIntRange(5, 10), this);
if (ch.isAlive()){
Buff.prolong( ch, Paralysis.class, ch instanceof GnollGuard ? 10 : 3 );

View File

@@ -81,9 +81,9 @@ public class GnollGuard extends Mob {
@Override
public int damageRoll() {
if (enemy != null && !Dungeon.level.adjacent(pos, enemy.pos)){
return Random.NormalIntRange( 10, 25 );
return Random.NormalIntRange( 10, 20 );
} else {
return Random.NormalIntRange( 3, 12 );
return Random.NormalIntRange( 5, 10 );
}
}

View File

@@ -41,7 +41,7 @@ public class GnollSapper extends Mob {
spriteClass = GnollSapperSprite.class;
HP = HT = 50;
HP = HT = 45;
defenseSkill = 15;
EXP = 10;