v0.6.3: rebalanced a number of items and glyphs

This commit is contained in:
Evan Debenham 2018-01-05 16:50:37 -05:00
parent 232e8a986f
commit 53d413b56a
11 changed files with 27 additions and 22 deletions

View File

@ -32,7 +32,7 @@ import com.watabou.utils.Bundle;
//FIXME do proper translation stuff for new text here in 0.6.3 (heromsg, ondeath, rankings_desc)
public class Venom extends Buff implements Hero.Doom {
private int damage = 1;
private float damage = 1;
protected float left;
private static final String DAMAGE = "damage";
@ -52,7 +52,7 @@ public class Venom extends Buff implements Hero.Doom {
@Override
public void restoreFromBundle( Bundle bundle ) {
super.restoreFromBundle( bundle );
damage = bundle.getInt( DAMAGE );
damage = bundle.getFloat( DAMAGE );
left = bundle.getFloat( LEFT );
}
@ -79,9 +79,12 @@ public class Venom extends Buff implements Hero.Doom {
@Override
public boolean act() {
if (target.isAlive()) {
target.damage(damage, this);
if (damage < ((Dungeon.depth+1)/2)+1)
target.damage((int)damage, this);
if (damage < (Dungeon.depth/2)+2) {
damage++;
} else {
damage += 0.5f;
}
spend( TICK );
if ((left -= TICK) <= 0) {

View File

@ -311,16 +311,16 @@ public class Hero extends Char {
@Override
public int defenseSkill( Char enemy ) {
float evasion = 1f * RingOfEvasion.evasionMultiplier( this );
float multiplier = 1f * RingOfEvasion.evasionMultiplier( this );
if (paralysed > 0) {
evasion /= 2;
multiplier /= 2;
}
int aEnc = belongings.armor != null ? belongings.armor.STRReq() - STR() : 10 - STR();
if (aEnc > 0) {
evasion /= Math.pow( 1.5, aEnc );
multiplier /= Math.pow( 1.5, aEnc );
}
int bonus = 0;
@ -332,7 +332,7 @@ public class Hero extends Char {
bonus += momentum.evasionBonus(Math.max(0, -aEnc));
}
return Math.round((defenseSkill + bonus) * evasion);
return Math.round((defenseSkill * multiplier) + bonus);
}
@Override

View File

@ -45,8 +45,8 @@ public class Entanglement extends Glyph {
if (Random.Int( 4 ) == 0) {
Buff.prolong( defender, Roots.class, 3 );
Buff.affect( defender, Earthroot.Armor.class ).level( 5 + 2*level );
Buff.prolong( defender, Roots.class, 3 - level/5 );
Buff.affect( defender, Earthroot.Armor.class ).level( 4 + 4*level );
CellEmitter.bottom( defender.pos ).start( EarthParticle.FACTORY, 0.05f, 8 );
Camera.main.shake( 1, 0.4f );

View File

@ -35,11 +35,6 @@ public class Obfuscation extends Armor.Glyph {
return damage;
}
@Override
public int tierDRAdjust() {
return -1;
}
@Override
public ItemSprite.Glowing glowing() {
return GREY;

View File

@ -140,7 +140,7 @@ public class WandOfCorruption extends Wand {
enemyResist = 1 + Dungeon.depth/2f;
} else if (ch instanceof Wraith) {
//this is so low because wraiths are always at max hp
enemyResist = 1 + Dungeon.depth/5f;
enemyResist = 0.5f + Dungeon.depth/8f;
} else if (ch instanceof Yog.BurningFist || ch instanceof Yog.RottingFist) {
enemyResist = 1 + 30;
} else if (ch instanceof Yog.Larva || ch instanceof King.Undead){
@ -184,12 +184,19 @@ public class WandOfCorruption extends Wand {
}
private void debuffEnemy( Mob enemy, HashMap<Class<? extends Buff>, Float> category ){
//do not consider buffs which are already assigned, or that the enemy is immune to.
HashMap<Class<? extends Buff>, Float> debuffs = new HashMap<>(category);
for (Buff existing : enemy.buffs()){
if (debuffs.containsKey(existing.getClass())) {
debuffs.put(existing.getClass(), 0f);
}
}
for (Class<?extends Buff> toAssign : debuffs.keySet()){
if (debuffs.get(toAssign) > 0 && enemy.immunities().contains(toAssign)){
debuffs.put(toAssign, 0f);
}
}
//all buffs with a > 0 chance are flavor buffs
Class<?extends FlavourBuff> debuffCls = (Class<? extends FlavourBuff>) Random.chances(debuffs);

View File

@ -29,7 +29,7 @@ public class BattleAxe extends MeleeWeapon {
image = ItemSpriteSheet.BATTLE_AXE;
tier = 4;
ACC = 1.175f; //17.5% boost to accuracy
ACC = 1.24f; //24% boost to accuracy
}
@Override

View File

@ -29,7 +29,7 @@ public class Flail extends MeleeWeapon {
image = ItemSpriteSheet.FLAIL;
tier = 4;
ACC = 0.8f; //0.8x accuracy
ACC = 0.9f; //0.9x accuracy
//also cannot surprise attack, see Hero.canSurpriseAttack
}

View File

@ -29,7 +29,7 @@ public class HandAxe extends MeleeWeapon {
image = ItemSpriteSheet.HAND_AXE;
tier = 2;
ACC = 1.225f; //22.5% boost to accuracy
ACC = 1.32f; //32% boost to accuracy
}
@Override

View File

@ -29,7 +29,7 @@ public class Mace extends MeleeWeapon {
image = ItemSpriteSheet.MACE;
tier = 3;
ACC = 1.2f; //20% boost to accuracy
ACC = 1.28f; //28% boost to accuracy
}
@Override

View File

@ -29,7 +29,7 @@ public class WarHammer extends MeleeWeapon {
image = ItemSpriteSheet.WAR_HAMMER;
tier = 5;
ACC = 1.15f; //15% boost to accuracy
ACC = 1.20f; //20% boost to accuracy
}
@Override

View File

@ -38,7 +38,7 @@ items.armor.glyphs.flow.name=%s of flow
items.armor.glyphs.flow.desc=This glyph manipulates the flow of water around the wearer, making them much faster when moving through it.
items.armor.glyphs.obfuscation.name=%s of obfuscation
items.armor.glyphs.obfuscation.desc=This glyph makes the wearer more difficult to detect, at the cost of defense.
items.armor.glyphs.obfuscation.desc=This glyph obscures the wearer, making them more difficult to detect.
items.armor.glyphs.potential.name=%s of potential
items.armor.glyphs.potential.rankings_desc=Killed by: glyph of potential