v0.6.2: balance adjustments to cloak of shadows and sneak weapons
This commit is contained in:
parent
b9f7f7c44a
commit
40a92bf3a4
|
@ -172,7 +172,7 @@ public class CloakOfShadows extends Artifact {
|
||||||
LockedFloor lock = target.buff(LockedFloor.class);
|
LockedFloor lock = target.buff(LockedFloor.class);
|
||||||
if (!stealthed && (lock == null || lock.regenOn())) {
|
if (!stealthed && (lock == null || lock.regenOn())) {
|
||||||
float turnsToCharge = (60 - 2*(chargeCap - charge));
|
float turnsToCharge = (60 - 2*(chargeCap - charge));
|
||||||
if (level() > 7) turnsToCharge -= 2 * (level() - 7);
|
if (level() > 7) turnsToCharge -= 10*(level() - 7)/3f;
|
||||||
partialCharge += (1f / turnsToCharge);
|
partialCharge += (1f / turnsToCharge);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -232,7 +232,17 @@ public class CloakOfShadows extends Artifact {
|
||||||
GLog.w(Messages.get(this, "no_charge"));
|
GLog.w(Messages.get(this, "no_charge"));
|
||||||
((Hero) target).interrupt();
|
((Hero) target).interrupt();
|
||||||
} else {
|
} 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) {
|
if (exp >= (level() + 1) * 50 && level() < levelCap) {
|
||||||
upgrade();
|
upgrade();
|
||||||
|
|
|
@ -47,8 +47,11 @@ public class AssassinsBlade extends MeleeWeapon {
|
||||||
Hero hero = (Hero)owner;
|
Hero hero = (Hero)owner;
|
||||||
Char enemy = hero.enemy();
|
Char enemy = hero.enemy();
|
||||||
if (enemy instanceof Mob && ((Mob) enemy).surprisedBy(hero)) {
|
if (enemy instanceof Mob && ((Mob) enemy).surprisedBy(hero)) {
|
||||||
//deals avg damage to max on surprise, instead of min to max.
|
//deals 50% toward max to max on surprise, instead of min to max.
|
||||||
int damage = imbue.damageFactor(Random.NormalIntRange((min() + max()) / 2, max()));
|
int diff = max() - min();
|
||||||
|
int damage = imbue.damageFactor(Random.NormalIntRange(
|
||||||
|
min() + Math.round(diff*0.50f),
|
||||||
|
max()));
|
||||||
int exStr = hero.STR() - STRReq();
|
int exStr = hero.STR() - STRReq();
|
||||||
if (exStr > 0) {
|
if (exStr > 0) {
|
||||||
damage += Random.IntRange(0, exStr);
|
damage += Random.IntRange(0, exStr);
|
||||||
|
|
|
@ -47,8 +47,11 @@ public class Dagger extends MeleeWeapon {
|
||||||
Hero hero = (Hero)owner;
|
Hero hero = (Hero)owner;
|
||||||
Char enemy = hero.enemy();
|
Char enemy = hero.enemy();
|
||||||
if (enemy instanceof Mob && ((Mob) enemy).surprisedBy(hero)) {
|
if (enemy instanceof Mob && ((Mob) enemy).surprisedBy(hero)) {
|
||||||
//deals avg damage to max on surprise, instead of min to max.
|
//deals 75% toward max to max on surprise, instead of min to max.
|
||||||
int damage = imbue.damageFactor(Random.NormalIntRange((min() + max()) / 2, max()));
|
int diff = max() - min();
|
||||||
|
int damage = imbue.damageFactor(Random.NormalIntRange(
|
||||||
|
min() + Math.round(diff*0.75f),
|
||||||
|
max()));
|
||||||
int exStr = hero.STR() - STRReq();
|
int exStr = hero.STR() - STRReq();
|
||||||
if (exStr > 0) {
|
if (exStr > 0) {
|
||||||
damage += Random.IntRange(0, exStr);
|
damage += Random.IntRange(0, exStr);
|
||||||
|
|
|
@ -47,8 +47,11 @@ public class Dirk extends MeleeWeapon {
|
||||||
Hero hero = (Hero)owner;
|
Hero hero = (Hero)owner;
|
||||||
Char enemy = hero.enemy();
|
Char enemy = hero.enemy();
|
||||||
if (enemy instanceof Mob && ((Mob) enemy).surprisedBy(hero)) {
|
if (enemy instanceof Mob && ((Mob) enemy).surprisedBy(hero)) {
|
||||||
//deals avg damage to max on surprise, instead of min to max.
|
//deals 67% toward max to max on surprise, instead of min to max.
|
||||||
int damage = imbue.damageFactor(Random.NormalIntRange((min() + max()) / 2, max()));
|
int diff = max() - min();
|
||||||
|
int damage = imbue.damageFactor(Random.NormalIntRange(
|
||||||
|
min() + Math.round(diff*0.67f),
|
||||||
|
max()));
|
||||||
int exStr = hero.STR() - STRReq();
|
int exStr = hero.STR() - STRReq();
|
||||||
if (exStr > 0) {
|
if (exStr > 0) {
|
||||||
damage += Random.IntRange(0, exStr);
|
damage += Random.IntRange(0, exStr);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user