v0.8.0a: Yog-Dzewa balance tweaks:
- Yog's deathgaze damage down to 20-35, from 20-40 - Soiled fist now spreads furrowed grass slightly more often - Soiled fist now resists burning - Rusted fist damage up to 22-44 from 20-40 - Bright fist blind durations down to 15/30, from 25/50 - Dark fist ranged damage down to 12-24 from 15-30
This commit is contained in:
parent
1de6a1e10a
commit
042937e164
|
@ -156,7 +156,7 @@ public class YogDzewa extends Mob {
|
||||||
Dungeon.observe();
|
Dungeon.observe();
|
||||||
}
|
}
|
||||||
for (Char ch : affected) {
|
for (Char ch : affected) {
|
||||||
ch.damage(Random.NormalIntRange(20, 40), new Eye.DeathGaze());
|
ch.damage(Random.NormalIntRange(20, 35), new Eye.DeathGaze());
|
||||||
|
|
||||||
if (Dungeon.level.heroFOV[pos]) {
|
if (Dungeon.level.heroFOV[pos]) {
|
||||||
ch.sprite.flash();
|
ch.sprite.flash();
|
||||||
|
|
|
@ -248,17 +248,22 @@ public abstract class YogFist extends Mob {
|
||||||
|
|
||||||
boolean result = super.act();
|
boolean result = super.act();
|
||||||
|
|
||||||
|
//1.33 grass tiles on average
|
||||||
|
int furrowedTiles = Random.chances(new float[]{0, 2, 1});
|
||||||
|
|
||||||
|
for (int i = 0; i < furrowedTiles; i++) {
|
||||||
int cell = pos + PathFinder.NEIGHBOURS9[Random.Int(9)];
|
int cell = pos + PathFinder.NEIGHBOURS9[Random.Int(9)];
|
||||||
if (Dungeon.level.map[cell] == Terrain.GRASS){
|
if (Dungeon.level.map[cell] == Terrain.GRASS) {
|
||||||
Level.set( cell, Terrain.FURROWED_GRASS);
|
Level.set(cell, Terrain.FURROWED_GRASS);
|
||||||
GameScene.updateMap( cell );
|
GameScene.updateMap(cell);
|
||||||
CellEmitter.get( cell ).burst( LeafParticle.GENERAL, 10 );
|
CellEmitter.get(cell).burst(LeafParticle.GENERAL, 10);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Dungeon.observe();
|
Dungeon.observe();
|
||||||
|
|
||||||
for (int i : PathFinder.NEIGHBOURS9) {
|
for (int i : PathFinder.NEIGHBOURS9) {
|
||||||
cell = pos + i;
|
int cell = pos + i;
|
||||||
if (canSpreadGrass(cell)){
|
if (canSpreadGrass(cell)){
|
||||||
Level.set(pos+i, Terrain.GRASS);
|
Level.set(pos+i, Terrain.GRASS);
|
||||||
GameScene.updateMap( pos + i );
|
GameScene.updateMap( pos + i );
|
||||||
|
@ -290,11 +295,6 @@ public abstract class YogFist extends Mob {
|
||||||
|
|
||||||
Buff.affect( enemy, Roots.class, 3f );
|
Buff.affect( enemy, Roots.class, 3f );
|
||||||
|
|
||||||
if (!enemy.isAlive() && enemy == Dungeon.hero) {
|
|
||||||
Dungeon.fail( getClass() );
|
|
||||||
GLog.n( Messages.get(Char.class, "kill", name()) );
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
enemy.sprite.showStatus( CharSprite.NEUTRAL, enemy.defenseVerb() );
|
enemy.sprite.showStatus( CharSprite.NEUTRAL, enemy.defenseVerb() );
|
||||||
|
@ -323,6 +323,11 @@ public abstract class YogFist extends Mob {
|
||||||
&& !(Dungeon.level.map[cell] == Terrain.FURROWED_GRASS || Dungeon.level.map[cell] == Terrain.HIGH_GRASS);
|
&& !(Dungeon.level.map[cell] == Terrain.FURROWED_GRASS || Dungeon.level.map[cell] == Terrain.HIGH_GRASS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
resistances.add(Burning.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class RottingFist extends YogFist {
|
public static class RottingFist extends YogFist {
|
||||||
|
@ -397,7 +402,7 @@ public abstract class YogFist extends Mob {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int damageRoll() {
|
public int damageRoll() {
|
||||||
return Random.NormalIntRange( 20, 40 );
|
return Random.NormalIntRange( 22, 44 );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -463,7 +468,7 @@ public abstract class YogFist extends Mob {
|
||||||
super.damage(dmg, src);
|
super.damage(dmg, src);
|
||||||
if (isAlive() && beforeHP > HT/2 && HP < HT/2){
|
if (isAlive() && beforeHP > HT/2 && HP < HT/2){
|
||||||
HP = HT/2;
|
HP = HT/2;
|
||||||
Buff.prolong( Dungeon.hero, Blindness.class, 30f );
|
Buff.prolong( Dungeon.hero, Blindness.class, 15f );
|
||||||
int i;
|
int i;
|
||||||
do {
|
do {
|
||||||
i = Random.Int(Dungeon.level.length());
|
i = Random.Int(Dungeon.level.length());
|
||||||
|
@ -473,7 +478,7 @@ public abstract class YogFist extends Mob {
|
||||||
GameScene.flash(0xFFFFFF);
|
GameScene.flash(0xFFFFFF);
|
||||||
GLog.w( Messages.get( this, "teleport" ));
|
GLog.w( Messages.get( this, "teleport" ));
|
||||||
} else if (!isAlive()){
|
} else if (!isAlive()){
|
||||||
Buff.prolong( Dungeon.hero, Blindness.class, 50f );
|
Buff.prolong( Dungeon.hero, Blindness.class, 30f );
|
||||||
GameScene.flash(0xFFFFFF);
|
GameScene.flash(0xFFFFFF);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -502,7 +507,7 @@ public abstract class YogFist extends Mob {
|
||||||
|
|
||||||
if (hit( this, enemy, true )) {
|
if (hit( this, enemy, true )) {
|
||||||
|
|
||||||
enemy.damage( Random.NormalIntRange(15, 30), new DarkBolt() );
|
enemy.damage( Random.NormalIntRange(12, 24), new DarkBolt() );
|
||||||
|
|
||||||
Light l = enemy.buff(Light.class);
|
Light l = enemy.buff(Light.class);
|
||||||
if (l != null){
|
if (l != null){
|
||||||
|
|
Loading…
Reference in New Issue
Block a user