v3.0.0: Cleric T1 buffs:

- holy tome recharge speed +33%
- searing light dmg +1
- shield of light adjusted, +2 now gives more armor, not more duration
This commit is contained in:
Evan Debenham
2025-01-04 13:37:19 -05:00
parent b9cd64c934
commit 35a647a42a
4 changed files with 14 additions and 10 deletions

View File

@@ -636,7 +636,7 @@ actors.hero.spells.recallinscription$useditemtracker.desc=The Cleric has recentl
actors.hero.spells.shieldoflight.name=shield of light
actors.hero.spells.shieldoflight.short_desc=Grants temporary armor against a target.
actors.hero.spells.shieldoflight.desc=The Cleric creates a thin barrier of light between themselves and an enemy, increasing their armor's block power against that enemy by 2-4 for %d turns.\n\nThis spell takes no time to cast, but cannot be used against multiple targets simultaneously.
actors.hero.spells.shieldoflight.desc=The Cleric creates a thin barrier of light between themselves and an enemy, increasing their armor's block power against that enemy by %1$d-%2$d for 4 turns.\n\nThis spell takes no time to cast, but cannot be used against multiple targets simultaneously.
actors.hero.spells.shieldoflight$shieldoflighttracker.name=shield of light
actors.hero.spells.shieldoflight$shieldoflighttracker.desc=A thin shield of light is standing between the Cleric and an enemy. It's not strong enough to outright block attacks, but will soften them.\n\nTurns Remaining: %s
@@ -1086,9 +1086,9 @@ actors.hero.talent.satiated_spells.desc=_+1:_ Eating food causes the Cleric to g
actors.hero.talent.holy_intuition.title=holy intuition
actors.hero.talent.holy_intuition.desc=_+1:_ The Cleric can cast _Holy Intuition,_ a spell that reveals whether an item is cursed at the cost of _3 charges._\n\n_+2:_ The Cleric can cast _Holy Intuition,_ a spell that reveals whether an item is cursed at the cost of _2 charges._
actors.hero.talent.searing_light.title=searing light
actors.hero.talent.searing_light.desc=_+1:_ The Cleric's physical attacks on enemies illuminated by _Guiding Light_ deal _+3 damage._\n\n_+2:_ The Cleric's physical attacks on enemies illuminated by _Guiding Light_ deal _+5 damage._
actors.hero.talent.searing_light.desc=_+1:_ The Cleric's physical attacks on enemies illuminated by _Guiding Light_ deal _+4 damage._\n\n_+2:_ The Cleric's physical attacks on enemies illuminated by _Guiding Light_ deal _+6 damage._
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 _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.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 _3-6 armor_ against a target for 4 turns at the cost of 1 charge.
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.

View File

@@ -404,7 +404,7 @@ public abstract class Char extends Actor {
if (enemy.buff(GuidingLight.Illuminated.class) != null){
enemy.buff(GuidingLight.Illuminated.class).detach();
if (this == Dungeon.hero && Dungeon.hero.hasTalent(Talent.SEARING_LIGHT)){
dmg += 1 + 2*Dungeon.hero.pointsInTalent(Talent.SEARING_LIGHT);
dmg += 2 + 2*Dungeon.hero.pointsInTalent(Talent.SEARING_LIGHT);
}
if (this != Dungeon.hero && Dungeon.hero.subClass == HeroSubClass.PRIEST){
enemy.damage(10, GuidingLight.INSTANCE);
@@ -666,7 +666,8 @@ public abstract class Char extends Actor {
ShieldOfLight.ShieldOfLightTracker shield = buff( ShieldOfLight.ShieldOfLightTracker.class);
if (shield != null && shield.object == enemy.id()){
damage -= Random.NormalIntRange(2, 4);
int min = 1 + Dungeon.hero.pointsInTalent(Talent.SHIELD_OF_LIGHT);
damage -= Random.NormalIntRange(min, 2*min);
damage = Math.max(damage, 0);
}

View File

@@ -70,7 +70,7 @@ public class ShieldOfLight extends TargetedClericSpell {
hero.sprite.operate(hero.pos);
//1 turn less as the casting is instant
Buff.prolong( hero, ShieldOfLightTracker.class, 1f + 2f*hero.pointsInTalent(Talent.SHIELD_OF_LIGHT)).object = ch.id();
Buff.prolong( hero, ShieldOfLightTracker.class, 3f).object = ch.id();
hero.busy();
hero.sprite.operate(hero.pos);
@@ -82,13 +82,17 @@ public class ShieldOfLight extends TargetedClericSpell {
@Override
public String desc() {
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));
int min = 1 + Dungeon.hero.pointsInTalent(Talent.SHIELD_OF_LIGHT);
int max = 2*min;
return Messages.get(this, "desc", min, max) + "\n\n" + Messages.get(this, "charge_cost", (int)chargeUse(Dungeon.hero));
}
public static class ShieldOfLightTracker extends FlavourBuff {
public int object = 0;
private static final float DURATION = 4;
{
type = buffType.POSITIVE;
}
@@ -100,8 +104,7 @@ public class ShieldOfLight extends TargetedClericSpell {
@Override
public float iconFadePercent() {
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);
}
private static final String OBJECT = "object";

View File

@@ -286,7 +286,7 @@ public class HolyTome extends Artifact {
if (Regeneration.regenOn()) {
float missing = (chargeCap - charge);
if (level() > 7) missing += 5*(level() - 7)/3f;
float turnsToCharge = (60 - missing);
float turnsToCharge = (45 - missing);
turnsToCharge /= RingOfEnergy.artifactChargeMultiplier(target);
float chargeToGain = (1f / turnsToCharge);
if (!isEquipped(Dungeon.hero)){