From 5e0f45b579d13ad85b3f52b40001e34c1626692b Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Fri, 13 Dec 2024 15:55:07 -0500 Subject: [PATCH] v3.0.0: filled out ascended form functionality --- core/src/main/assets/interfaces/buffs.png | Bin 1802 -> 1806 bytes .../main/assets/interfaces/large_buffs.png | Bin 3997 -> 4029 bytes .../actors/hero/Hero.java | 11 ++++ .../hero/abilities/cleric/AscendedForm.java | 47 ++++++++++++++++-- .../actors/hero/spells/ClericSpell.java | 4 ++ .../actors/hero/spells/MnemonicPrayer.java | 6 +++ .../items/weapon/Weapon.java | 4 ++ .../ui/BuffIndicator.java | 1 + 8 files changed, 68 insertions(+), 5 deletions(-) diff --git a/core/src/main/assets/interfaces/buffs.png b/core/src/main/assets/interfaces/buffs.png index 0c37331ced8a16f81f6e24dc2f512a9e5489f451..60d2d19b78d862fdfb74ee533b6f2f887e5e55f9 100644 GIT binary patch delta 1448 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 getSpellList(Hero cleric, int tier){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/spells/MnemonicPrayer.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/spells/MnemonicPrayer.java index fa9b71219..304d6b1aa 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/spells/MnemonicPrayer.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/spells/MnemonicPrayer.java @@ -45,6 +45,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.ToxicImbue; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.WellFed; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent; +import com.shatteredpixel.shatteredpixeldungeon.actors.hero.abilities.cleric.AscendedForm; import com.shatteredpixel.shatteredpixeldungeon.effects.Speck; import com.shatteredpixel.shatteredpixeldungeon.items.armor.glyphs.Viscosity; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.HolyTome; @@ -93,6 +94,11 @@ public class MnemonicPrayer extends TargetedClericSpell { continue; } + //no it does not boost ascended form lmao + if (b instanceof AscendedForm.AscendBuff){ + continue; + } + //should consider some buffs that may be OP here, e.g. invuln if (b instanceof FlavourBuff) Buff.affect(ch, (Class)b.getClass(), extension); else if (b instanceof AdrenalineSurge) ((AdrenalineSurge) b).delay(extension); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/Weapon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/Weapon.java index 7f4e4df41..210ff7434 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/Weapon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/Weapon.java @@ -28,6 +28,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Berserk; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MagicImmune; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent; +import com.shatteredpixel.shatteredpixeldungeon.actors.hero.abilities.cleric.AscendedForm; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.abilities.duelist.ElementalStrike; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.spells.HolyWeapon; import com.shatteredpixel.shatteredpixeldungeon.items.Item; @@ -271,6 +272,9 @@ abstract public class Weapon extends KindOfWeapon { return reach; } } + if (owner instanceof Hero && owner.buff(AscendedForm.AscendBuff.class) != null){ + reach += 2; + } if (hasEnchant(Projecting.class, owner)){ return reach + Math.round(enchantment.procChanceMultiplier(owner)); } else { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIndicator.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIndicator.java index 5cd06f32c..f481f6a1a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIndicator.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIndicator.java @@ -128,6 +128,7 @@ public class BuffIndicator extends Component { public static final int LIGHT_SHIELD= 76; public static final int HOLY_SIGHT = 77; public static final int GLYPH_RECALL= 78; + public static final int ASCEND = 79; public static final int SIZE_SMALL = 7; public static final int SIZE_LARGE = 16;