v3.0.0: buffed tome charge rate and shield of light spell

This commit is contained in:
Evan Debenham
2024-11-13 16:03:10 -05:00
parent 3094dd9e0e
commit 8f45080d93
4 changed files with 13 additions and 7 deletions
@@ -1026,7 +1026,7 @@ actors.hero.talent.detect_curse.desc=_+1:_ The Cleric can cast _Detect Curse,_ a
actors.hero.talent.searing_light.title=searing light actors.hero.talent.searing_light.title=searing light
actors.hero.talent.searing_light.desc=_+1:_ Physical attacks on enemies illuminated by _Guiding Light_ deal _+3 damage._\n\n_+2:_ Physical attacks on enemies illuminated by _Guiding Light_ deal _+5 damage._ actors.hero.talent.searing_light.desc=_+1:_ Physical attacks on enemies illuminated by _Guiding Light_ deal _+3 damage._\n\n_+2:_ Physical attacks on enemies illuminated by _Guiding Light_ deal _+5 damage._
actors.hero.talent.shield_of_light.title=shield of light actors.hero.talent.shield_of_light.title=shield of light
actors.hero.talent.shield_of_light.desc=_+1:_ The Cleric can cast _Shield of Light,_ a spell that is cast instantly and grants them 2-4 armor against a target for _3 turns_ at the cost of 1 charge.\n\n_+2:_ The Cleric can cast _Shield of Light,_ a spell that is cast instantly and grants them 2-4 armor against a target for _5 turns_ at the cost of 1 charge. actors.hero.talent.shield_of_light.desc=_+1:_ The Cleric can cast _Shield of Light,_ a spell that is cast instantly and grants them 2-4 armor against a target for _4 turns_ at the cost of 1 charge.\n\n_+2:_ The Cleric can cast _Shield of Light,_ a spell that is cast instantly and grants them 2-4 armor against a target for _6 turns_ at the cost of 1 charge.
actors.hero.talent.enlightening_meal.title=Enlightening Meal actors.hero.talent.enlightening_meal.title=Enlightening Meal
actors.hero.talent.enlightening_meal.desc=_+1:_ Eating food takes the Cleric 1 turn and grants them _1 charge_ on their holy tome.\n\n_+2:_ Eating food takes the Cleric 1 turn and grants them _1.5 charges_ on their holy tome. actors.hero.talent.enlightening_meal.desc=_+1:_ Eating food takes the Cleric 1 turn and grants them _1 charge_ on their holy tome.\n\n_+2:_ Eating food takes the Cleric 1 turn and grants them _1.5 charges_ on their holy tome.
@@ -656,6 +656,7 @@ public abstract class Char extends Actor {
ShieldOfLight.ShieldOfLightTracker shield = buff( ShieldOfLight.ShieldOfLightTracker.class); ShieldOfLight.ShieldOfLightTracker shield = buff( ShieldOfLight.ShieldOfLightTracker.class);
if (shield != null && shield.object == enemy.id()){ if (shield != null && shield.object == enemy.id()){
damage -= Random.NormalIntRange(2, 4); damage -= Random.NormalIntRange(2, 4);
damage = Math.max(damage, 0);
} }
return damage; return damage;
@@ -63,7 +63,7 @@ public class ShieldOfLight extends TargetedClericSpell {
hero.sprite.operate(hero.pos); hero.sprite.operate(hero.pos);
//1 turn less as the casting is instant //1 turn less as the casting is instant
Buff.affect( hero, ShieldOfLightTracker.class, 2f*hero.pointsInTalent(Talent.SHIELD_OF_LIGHT)).object = ch.id(); Buff.affect( hero, ShieldOfLightTracker.class, 1f + 2f*hero.pointsInTalent(Talent.SHIELD_OF_LIGHT)).object = ch.id();
hero.busy(); hero.busy();
hero.sprite.operate(hero.pos); hero.sprite.operate(hero.pos);
@@ -74,7 +74,7 @@ public class ShieldOfLight extends TargetedClericSpell {
@Override @Override
public String desc() { public String desc() {
return Messages.get(this, "desc", 1+2*Dungeon.hero.pointsInTalent(Talent.SHIELD_OF_LIGHT)) + "\n\n" + Messages.get(this, "charge_cost", (int)chargeUse(Dungeon.hero)); return Messages.get(this, "desc", 2+2*Dungeon.hero.pointsInTalent(Talent.SHIELD_OF_LIGHT)) + "\n\n" + Messages.get(this, "charge_cost", (int)chargeUse(Dungeon.hero));
} }
public static class ShieldOfLightTracker extends FlavourBuff { public static class ShieldOfLightTracker extends FlavourBuff {
@@ -92,7 +92,7 @@ public class ShieldOfLight extends TargetedClericSpell {
@Override @Override
public float iconFadePercent() { public float iconFadePercent() {
float duration = 1f + 2f* Dungeon.hero.pointsInTalent(Talent.SHIELD_OF_LIGHT); float duration = 2f + 2f* Dungeon.hero.pointsInTalent(Talent.SHIELD_OF_LIGHT);
return Math.max(0, (duration - visualcooldown()) / duration); return Math.max(0, (duration - visualcooldown()) / duration);
} }
@@ -173,12 +173,17 @@ public class HolyTome extends Artifact {
if (charge < chargeCap) { if (charge < chargeCap) {
//gains 2.5 charges per hero level, plus 10% per missing charge, plus another 10% for every level after 7 //gains 5 charges per hero level, plus 0.25 per missing charge, plus another 0.25 for every level after 7
float chargeGain = (2.5f * levelPortion) * (1f+(chargeCap - charge)/10f); float chargeGain = (5f * levelPortion) * (1f+(chargeCap - charge)/20f);
if (level() > 7) chargeGain *= 1f + (level()-7)/10f; if (level() > 7) chargeGain *= 1f + (level()-7)/20f;
chargeGain *= RingOfEnergy.artifactChargeMultiplier(target); chargeGain *= RingOfEnergy.artifactChargeMultiplier(target);
//floor 1 is very short with pre-spawned weak enemies, so nerf recharge speed here specifically
if (Dungeon.depth == 1){
chargeGain *= 0.67f;
}
partialCharge += chargeGain; partialCharge += chargeGain;
//charge is in increments of 1/5 max hunger value. //charge is in increments of 1/5 max hunger value.