v0.6.2: balance adjustments to cloak of shadows and sneak weapons

This commit is contained in:
Evan Debenham 2017-10-13 19:56:58 -04:00
parent b9f7f7c44a
commit 40a92bf3a4
4 changed files with 27 additions and 8 deletions

View File

@ -172,7 +172,7 @@ public class CloakOfShadows extends Artifact {
LockedFloor lock = target.buff(LockedFloor.class);
if (!stealthed && (lock == null || lock.regenOn())) {
float turnsToCharge = (60 - 2*(chargeCap - charge));
if (level() > 7) turnsToCharge -= 2 * (level() - 7);
if (level() > 7) turnsToCharge -= 10*(level() - 7)/3f;
partialCharge += (1f / turnsToCharge);
}
@ -232,7 +232,17 @@ public class CloakOfShadows extends Artifact {
GLog.w(Messages.get(this, "no_charge"));
((Hero) target).interrupt();
} else {
exp += 10 + ((Hero) target).lvl;
//target hero level is 1 + 2*cloak level
int lvlDiffFromTarget = ((Hero) target).lvl - 1+level()*2;
//plus an extra one for each level after 6
if (level() >= 7){
lvlDiffFromTarget -= level()-6;
}
if (lvlDiffFromTarget >= 0){
exp += Math.round(10f * Math.pow(1.1f, lvlDiffFromTarget));
} else {
exp += Math.round(10f * Math.pow(0.75f, -lvlDiffFromTarget));
}
if (exp >= (level() + 1) * 50 && level() < levelCap) {
upgrade();

View File

@ -47,8 +47,11 @@ public class AssassinsBlade extends MeleeWeapon {
Hero hero = (Hero)owner;
Char enemy = hero.enemy();
if (enemy instanceof Mob && ((Mob) enemy).surprisedBy(hero)) {
//deals avg damage to max on surprise, instead of min to max.
int damage = imbue.damageFactor(Random.NormalIntRange((min() + max()) / 2, max()));
//deals 50% toward max to max on surprise, instead of min to max.
int diff = max() - min();
int damage = imbue.damageFactor(Random.NormalIntRange(
min() + Math.round(diff*0.50f),
max()));
int exStr = hero.STR() - STRReq();
if (exStr > 0) {
damage += Random.IntRange(0, exStr);

View File

@ -47,8 +47,11 @@ public class Dagger extends MeleeWeapon {
Hero hero = (Hero)owner;
Char enemy = hero.enemy();
if (enemy instanceof Mob && ((Mob) enemy).surprisedBy(hero)) {
//deals avg damage to max on surprise, instead of min to max.
int damage = imbue.damageFactor(Random.NormalIntRange((min() + max()) / 2, max()));
//deals 75% toward max to max on surprise, instead of min to max.
int diff = max() - min();
int damage = imbue.damageFactor(Random.NormalIntRange(
min() + Math.round(diff*0.75f),
max()));
int exStr = hero.STR() - STRReq();
if (exStr > 0) {
damage += Random.IntRange(0, exStr);

View File

@ -47,8 +47,11 @@ public class Dirk extends MeleeWeapon {
Hero hero = (Hero)owner;
Char enemy = hero.enemy();
if (enemy instanceof Mob && ((Mob) enemy).surprisedBy(hero)) {
//deals avg damage to max on surprise, instead of min to max.
int damage = imbue.damageFactor(Random.NormalIntRange((min() + max()) / 2, max()));
//deals 67% toward max to max on surprise, instead of min to max.
int diff = max() - min();
int damage = imbue.damageFactor(Random.NormalIntRange(
min() + Math.round(diff*0.67f),
max()));
int exStr = hero.STR() - STRReq();
if (exStr > 0) {
damage += Random.IntRange(0, exStr);