v0.8.1: balance tweaks:

- talisman of foresight now requires less exp to level
- talisman of foresight now spends slightly more charge when scrying at distances
- battlemage staff of magic missile proc changed: now grants a straight 0.33 charges to all wands
This commit is contained in:
Evan Debenham 2020-06-25 18:22:55 -04:00
parent 452a67f03b
commit 2c20df475c
3 changed files with 19 additions and 12 deletions

View File

@ -115,7 +115,7 @@ public class TalismanOfForesight extends Artifact {
} }
private float maxDist(){ private float maxDist(){
return Math.min(5 + 2*level(), (charge-3)/0.88f); return Math.min(5 + 2*level(), (charge-3)/1.08f);
} }
private CellSelector.Listener scry = new CellSelector.Listener(){ private CellSelector.Listener scry = new CellSelector.Listener(){
@ -194,15 +194,16 @@ public class TalismanOfForesight extends Artifact {
} }
exp += earnedExp; exp += earnedExp;
if (exp >= 100 + 50*level() && level() < levelCap) { if (exp >= 50 + 50*level() && level() < levelCap) {
exp -= 100 + 50*level(); exp -= 50 + 50*level();
upgrade(); upgrade();
GLog.p( Messages.get(TalismanOfForesight.class, "levelup") ); GLog.p( Messages.get(TalismanOfForesight.class, "levelup") );
} }
updateQuickslot(); updateQuickslot();
charge -= 3 + dist*0.88f; //5 charge at 2 tiles, up to 30 charge at 25 tiles
partialCharge -= (dist*0.88f)%1f; charge -= 3 + dist*1.08f;
partialCharge -= (dist*1.08f)%1f;
if (partialCharge < 0 && charge > 0){ if (partialCharge < 0 && charge > 0){
partialCharge ++; partialCharge ++;
charge --; charge --;

View File

@ -561,6 +561,7 @@ public abstract class Wand extends Item {
} }
public void gainCharge(float charge){ public void gainCharge(float charge){
if (curCharges < maxCharges) {
partialCharge += charge; partialCharge += charge;
while (partialCharge >= 1f) { while (partialCharge >= 1f) {
curCharges++; curCharges++;
@ -569,6 +570,7 @@ public abstract class Wand extends Item {
curCharges = Math.min(curCharges, maxCharges); curCharges = Math.min(curCharges, maxCharges);
updateQuickslot(); updateQuickslot();
} }
}
private void setScaleFactor(float value){ private void setScaleFactor(float value){
this.scalingFactor = value; this.scalingFactor = value;

View File

@ -80,8 +80,12 @@ public class WandOfMagicMissile extends DamageWand {
@Override @Override
public void onHit(MagesStaff staff, Char attacker, Char defender, int damage) { public void onHit(MagesStaff staff, Char attacker, Char defender, int damage) {
Buff.prolong( attacker, Recharging.class, 1 + staff.buffedLvl()/2f);
SpellSprite.show(attacker, SpellSprite.CHARGE); SpellSprite.show(attacker, SpellSprite.CHARGE);
for (Wand.Charger c : attacker.buffs(Wand.Charger.class)){
if (c.wand() != this){
c.gainCharge(0.33f);
}
}
} }