v0.4.1: balance changes to the mage and rogue class

This commit is contained in:
Evan Debenham
2016-07-06 06:23:05 -04:00
committed by Evan Debenham
parent 686ac91c4b
commit 11f79b5e2c
4 changed files with 21 additions and 12 deletions
@@ -43,11 +43,11 @@ public class CloakOfShadows extends Artifact {
image = ItemSpriteSheet.ARTIFACT_CLOAK;
exp = 0;
levelCap = 15;
levelCap = 14;
charge = level()+5;
charge = level()+6;
partialCharge = 0;
chargeCap = level()+5;
chargeCap = level()+6;
cooldown = 0;
@@ -154,6 +154,12 @@ public class CloakOfShadows extends Artifact {
super.restoreFromBundle(bundle);
stealthed = bundle.getBoolean( STEALTHED );
cooldown = bundle.getInt( COOLDOWN );
//for pre-0.4.1 saves which may have over-levelled cloaks
if (level() == 15){
level(14);
chargeCap = 20;
}
}
public class cloakRecharge extends ArtifactBuff{
@@ -162,7 +168,7 @@ public class CloakOfShadows extends Artifact {
if (charge < chargeCap) {
LockedFloor lock = target.buff(LockedFloor.class);
if (!stealthed && (lock == null || lock.regenOn()))
partialCharge += (1f / (60 - (chargeCap-charge)*2));
partialCharge += (1f / (50 - (chargeCap-charge)));
if (partialCharge >= 1) {
charge++;
@@ -216,9 +222,9 @@ public class CloakOfShadows extends Artifact {
if (turnsToCost == 0) exp += 10 + ((Hero)target).lvl;
if (exp >= (level()+1)*50 && level() < levelCap) {
if (exp >= (level()+1)*40 && level() < levelCap) {
upgrade();
exp -= level()*50;
exp -= level()*40;
GLog.p( Messages.get(this, "levelup") );
}
@@ -236,9 +242,9 @@ public class CloakOfShadows extends Artifact {
exp += 10 + ((Hero)target).lvl;
if (exp >= (level()+1)*50 && level() < levelCap) {
if (exp >= (level()+1)*40 && level() < levelCap) {
upgrade();
exp -= level()*50;
exp -= level()*40;
GLog.p( Messages.get(this, "levelup") );
}
@@ -267,7 +273,7 @@ public class CloakOfShadows extends Artifact {
if (target.invisible > 0)
target.invisible--;
stealthed = false;
cooldown = 10 - (level() / 3);
cooldown = 6 - (level() / 4);
updateQuickslot();
super.detach();
@@ -43,7 +43,7 @@ public class WandOfMagicMissile extends Wand {
if (ch != null) {
processSoulMark(ch, chargesPerCast());
ch.damage(Random.NormalIntRange(4 , 6 + level() * 2), this);
ch.damage(Random.NormalIntRange(3 + level() , 6 + level() * 2), this);
ch.sprite.burst(0xFFFFFFFF, level() / 2 + 2);
@@ -76,7 +76,7 @@ public class MagesStaff extends MeleeWeapon {
@Override
public int max(int lvl) {
return 3*(tier+1) + //6 base damage, down from 10
return 4*(tier+1) + //8 base damage, down from 10
lvl*(tier+1); //scaling unaffected
}
@@ -161,6 +161,9 @@ public class MagesStaff extends MeleeWeapon {
//syncs the level of the two items.
int targetLevel = Math.max(this.level(), wand.level());
//if the staff's level is being overridden by the wand, preserve 1 upgrade
if (wand.level() >= this.level() && this.level() > 0) targetLevel++;
int staffLevelDiff = targetLevel - this.level();
if (staffLevelDiff > 0)
this.upgrade(staffLevelDiff);