From 08bf66362c6e520305d16b4b9946642be84e700c Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Sat, 5 Dec 2020 20:43:23 -0500 Subject: [PATCH] v0.9.1: balance tweaks to some talents: - Cached Rations now grants 4/6 small rations, up from 3/5 - Dungeon berry hunger restoration up to 100 from 75 - Backup Barrier shielding increased to 4/6 from 3/5 - Runic Transference is now more permissive with the glyphs it can transfer --- core/src/main/assets/messages/actors/actors.properties | 6 +++--- .../shatteredpixeldungeon/items/armor/Armor.java | 6 +++--- .../shatteredpixeldungeon/items/food/Berry.java | 2 +- .../shatteredpixeldungeon/items/wands/Wand.java | 4 ++-- .../shatteredpixeldungeon/levels/RegularLevel.java | 5 ++--- 5 files changed, 11 insertions(+), 12 deletions(-) diff --git a/core/src/main/assets/messages/actors/actors.properties b/core/src/main/assets/messages/actors/actors.properties index fc25f47f0..75a41f8ba 100644 --- a/core/src/main/assets/messages/actors/actors.properties +++ b/core/src/main/assets/messages/actors/actors.properties @@ -329,7 +329,7 @@ actors.hero.talent.iron_stomach.desc=_+1:_ Eating food takes the Warrior 1 turn actors.hero.talent.restored_willpower.title=restored willpower actors.hero.talent.restored_willpower.desc=_+1:_ Drinking a potion of healing instantly recharges _67% of the shielding_ from the Warrior's broken seal.\n\n_+2:_ Drinking a potion of healing instantly recharges _100% of the shielding_ from the Warrior's broken seal.\n\nThis talent also triggers when drinking potions or elixirs based on potions of healing. actors.hero.talent.runic_transference.title=runic transference -actors.hero.talent.runic_transference.desc=_+1:_ The Warrior's broken seal can transfer _common glyphs_ in the same way it transfers an upgrade.\n\n_+2:_ The Warrior's broken seal can transfer _common and uncommon glyphs_ in the same way it transfers an upgrade. +actors.hero.talent.runic_transference.desc=_+1:_ The Warrior's broken seal can transfer _regular glyphs_ in the same way it transfers an upgrade.\n\n_+2:_ The Warrior's broken seal can transfer _regular, powerful, and curse glyphs_ in the same way it transfers an upgrade. actors.hero.talent.lethal_momentum.title=lethal momentum actors.hero.talent.lethal_momentum.desc=_+1:_ When the Warrior kills an enemy, the killing blow has a _67% chance_ to be instantaneous.\n\n_+2:_ When the Warrior kills an enemy, the killing blow has a _100% chance_ to be instantaneous. actors.hero.talent.improvised_projectiles.title=improvised projectiles @@ -342,7 +342,7 @@ actors.hero.talent.scholars_intuition.desc=_+1:_ The Mage identifies wands _3x f actors.hero.talent.tested_hypothesis.title=tested hypothesis actors.hero.talent.tested_hypothesis.desc=_+1:_ Whenever the Mage identifies an item, he gains _2 turns of wand recharging_.\n\n_+2:_ Whenever the Mage identifies an item, he gains _3 turns of wand recharging_. actors.hero.talent.backup_barrier.title=backup barrier -actors.hero.talent.backup_barrier.desc=_+1:_ The Mage gains _3 shielding_ whenever he spends the last charge in his staff.\n\n_+2:_ The Mage gains _5 shielding_ whenever he spends the last charge in his staff. +actors.hero.talent.backup_barrier.desc=_+1:_ The Mage gains _4 shielding_ whenever he spends the last charge in his staff.\n\n_+2:_ The Mage gains _6 shielding_ whenever he spends the last charge in his staff. actors.hero.talent.energizing_meal.title=energizing meal actors.hero.talent.energizing_meal.desc=_+1:_ Eating food takes the Mage 1 turn and grants him _5 turns of wand recharging_.\n\n_+2:_ Eating food takes the Mage 1 turn and grants him _8 turns of wand recharging_. actors.hero.talent.energizing_upgrade.title=energizing upgrade @@ -355,7 +355,7 @@ actors.hero.talent.shield_battery.title=shield battery actors.hero.talent.shield_battery.desc=_+1:_ The mage can self-target with a wand to convert its charges into shielding at a rate of _5% max HP per charge_.\n\n_+2:_ The mage can self-target with a wand to convert its charges into shielding at a rate of _7.5% max HP per charge_. actors.hero.talent.cached_rations.title=cached rations -actors.hero.talent.cached_rations.desc=_+1:_ The Rogue can find _3 small rations_ placed in chests while he explores the earlier stages of the dungeon.\n\n_+2:_ The Rogue can find _5 small rations_ placed in chests while he explores the earlier stages of the the dungeon. +actors.hero.talent.cached_rations.desc=_+1:_ The Rogue can find _4 small rations_ placed in chests while he explores the earlier stages of the dungeon.\n\n_+2:_ The Rogue can find _6 small rations_ placed in chests while he explores the earlier stages of the the dungeon. actors.hero.talent.thiefs_intuition.title=thief's intuition actors.hero.talent.thiefs_intuition.desc=_+1:_ The Rogue identifies rings _2x faster_, and identifies the type of a ring _when he equips it_.\n\n_+2:_ The Rogue identifies rings _when he equips them_, and identifies the type of a ring _when he picks it up_. actors.hero.talent.sucker_punch.title=sucker punch diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java index 6c81af6b5..c47b83be7 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java @@ -175,10 +175,10 @@ public class Armor extends EquipableItem { } if (seal.getGlyph() != null){ if (hero.hasTalent(Talent.RUNIC_TRANSFERENCE) - && Arrays.asList(Glyph.common).contains(seal.getGlyph().getClass())){ + && (Arrays.asList(Glyph.common).contains(seal.getGlyph().getClass()) + || Arrays.asList(Glyph.uncommon).contains(seal.getGlyph().getClass()))){ inscribe(null); - } else if (hero.pointsInTalent(Talent.RUNIC_TRANSFERENCE) == 2 - && Arrays.asList(Glyph.uncommon).contains(seal.getGlyph().getClass())){ + } else if (hero.pointsInTalent(Talent.RUNIC_TRANSFERENCE) == 2){ inscribe(null); } else { seal.setGlyph(null); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/food/Berry.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/food/Berry.java index c6d450cac..5867c1690 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/food/Berry.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/food/Berry.java @@ -34,7 +34,7 @@ public class Berry extends Food { { image = ItemSpriteSheet.BERRY; - energy = Hunger.HUNGRY/4f; //75 food value + energy = Hunger.HUNGRY/3f; //100 food value } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/Wand.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/Wand.java index 4a37ec603..2f253112c 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/Wand.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/Wand.java @@ -363,8 +363,8 @@ public abstract class Wand extends Item { && charger.target == Dungeon.hero && !Dungeon.hero.belongings.contains(this) && Dungeon.hero.hasTalent(Talent.BACKUP_BARRIER)){ - //grants 3/5 shielding - Buff.affect(Dungeon.hero, Barrier.class).setShield(1 + 2*Dungeon.hero.pointsInTalent(Talent.BACKUP_BARRIER)); + //grants 4/6 shielding + Buff.affect(Dungeon.hero, Barrier.class).setShield(2 + 2*Dungeon.hero.pointsInTalent(Talent.BACKUP_BARRIER)); } Invisibility.dispel(); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/RegularLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/RegularLevel.java index 39ef30d49..631a3316f 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/RegularLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/RegularLevel.java @@ -415,11 +415,10 @@ public abstract class RegularLevel extends Level { } } - //cached rations try to drop in a special room on floors 2/4/6/8/9, to a max of 3/5 + //cached rations try to drop in a special room on floors 2/3/4/6/7/8, to a max of 4/6 if (Dungeon.hero.hasTalent(Talent.CACHED_RATIONS)){ Talent.CachedRationsDropped dropped = Buff.affect(Dungeon.hero, Talent.CachedRationsDropped.class); - if (dropped.count() < 1 + 2*Dungeon.hero.pointsInTalent(Talent.CACHED_RATIONS) - && Math.min(8, 1 + 2*dropped.count()) < Dungeon.depth){ + if (dropped.count() < 2 + 2*Dungeon.hero.pointsInTalent(Talent.CACHED_RATIONS)){ int cell; do { cell = randomDropCell(SpecialRoom.class);