From de66460049f7504e4e13ef039186175e0d9e6c34 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Fri, 17 Jan 2025 13:22:37 -0500 Subject: [PATCH] v3.0.0: icon and text implementation for last 2 paladin talents --- core/src/main/assets/interfaces/buffs.png | Bin 1806 -> 1821 bytes .../src/main/assets/interfaces/hero_icons.png | Bin 3599 -> 3687 bytes .../main/assets/interfaces/large_buffs.png | Bin 4029 -> 4087 bytes .../main/assets/interfaces/talent_icons.png | Bin 7530 -> 7583 bytes .../assets/messages/actors/actors.properties | 22 +++-- .../actors/hero/Talent.java | 4 +- .../actors/hero/spells/AuraOfProtection.java | 90 ++++++++++++++++++ .../actors/hero/spells/ClericSpell.java | 6 ++ .../actors/hero/spells/WallOfLight.java | 54 +++++++++++ .../ui/BuffIndicator.java | 1 + .../shatteredpixeldungeon/ui/HeroIcon.java | 4 +- 11 files changed, 171 insertions(+), 10 deletions(-) create mode 100644 core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/spells/AuraOfProtection.java create mode 100644 core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/spells/WallOfLight.java diff --git a/core/src/main/assets/interfaces/buffs.png b/core/src/main/assets/interfaces/buffs.png index 60d2d19b78d862fdfb74ee533b6f2f887e5e55f9..9deb4d3b0b9008e7470eb6749a1e732635be6492 100644 GIT binary patch delta 1463 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 EKj#xcd;kCd diff --git a/core/src/main/assets/interfaces/large_buffs.png b/core/src/main/assets/interfaces/large_buffs.png index 3accafd1efaaa499d95c51fa77faa7f23b4a69d9..0a9003d2d8b57941ff5d04e40dcbde35c66ac62a 100644 GIT binary patch delta 3778 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 delta 3719 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 diff --git a/core/src/main/assets/interfaces/talent_icons.png b/core/src/main/assets/interfaces/talent_icons.png index 52edff8a135bc53e6ec466a842b0ba56d31841a1..02934b66ac219b647f0057a5d5ad585b2d5a8b60 100644 GIT binary patch delta 7275 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 aY-z)P&RU_}U3dRi+r4xDjyK!rSN;zUI^}@? delta 7222 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 + */ + +package com.shatteredpixel.shatteredpixeldungeon.actors.hero.spells; + +import com.shatteredpixel.shatteredpixeldungeon.Dungeon; +import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; +import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.FlavourBuff; +import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; +import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent; +import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.HolyTome; +import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; +import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator; +import com.shatteredpixel.shatteredpixeldungeon.ui.HeroIcon; + +public class AuraOfProtection extends ClericSpell { + + public static AuraOfProtection INSTANCE = new AuraOfProtection(); + + @Override + public int icon() { + return HeroIcon.AURA_OF_PROTECTION; + } + + @Override + public String desc() { + int dmgReduction = Math.round(7.5f + 7.5F*Dungeon.hero.pointsInTalent(Talent.AURA_OF_PROTECTION)); + int glyphPow = 25 + 25*Dungeon.hero.pointsInTalent(Talent.AURA_OF_PROTECTION); + return Messages.get(this, "desc", dmgReduction, glyphPow) + "\n\n" + Messages.get(this, "charge_cost", (int)chargeUse(Dungeon.hero)); + } + + @Override + public float chargeUse(Hero hero) { + return 2f; + } + + @Override + public void onCast(HolyTome tome, Hero hero) { + + Buff.affect(hero,AuraBuff.class, AuraBuff.DURATION); + + //TODO vfx/sfx + + hero.spend( 1f ); + hero.busy(); + hero.sprite.operate(hero.pos); + + onSpellCast(tome, hero); + + } + + public static class AuraBuff extends FlavourBuff { + + public static float DURATION = 20f; + + { + type = buffType.POSITIVE; + } + + @Override + public int icon() { + return BuffIndicator.PROT_AURA; + } + + @Override + public float iconFadePercent() { + return Math.max(0, (DURATION - visualcooldown()) / DURATION); + } + + } + +} diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/spells/ClericSpell.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/spells/ClericSpell.java index f078ee84c..f30b59890 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/spells/ClericSpell.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/spells/ClericSpell.java @@ -155,6 +155,12 @@ public abstract class ClericSpell { if (cleric.hasTalent(Talent.LAY_ON_HANDS)){ spells.add(LayOnHands.INSTANCE); } + if (cleric.hasTalent(Talent.AURA_OF_PROTECTION)){ + spells.add(AuraOfProtection.INSTANCE); + } + if (cleric.hasTalent(Talent.WALL_OF_LIGHT)){ + spells.add(WallOfLight.INSTANCE); + } } else if (tier == 4){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/spells/WallOfLight.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/spells/WallOfLight.java new file mode 100644 index 000000000..547040ecf --- /dev/null +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/spells/WallOfLight.java @@ -0,0 +1,54 @@ +/* + * Pixel Dungeon + * Copyright (C) 2012-2015 Oleg Dolya + * + * Shattered Pixel Dungeon + * Copyright (C) 2014-2025 Evan Debenham + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + */ + +package com.shatteredpixel.shatteredpixeldungeon.actors.hero.spells; + +import com.shatteredpixel.shatteredpixeldungeon.Dungeon; +import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; +import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent; +import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.HolyTome; +import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; +import com.shatteredpixel.shatteredpixeldungeon.ui.HeroIcon; + +public class WallOfLight extends TargetedClericSpell { + + public static WallOfLight INSTANCE = new WallOfLight(); + + @Override + public int icon() { + return HeroIcon.WALL_OF_LIGHT; + } + + @Override + public String desc() { + return Messages.get(this, "desc", 1 + 2*Dungeon.hero.pointsInTalent(Talent.WALL_OF_LIGHT)) + "\n\n" + Messages.get(this, "charge_cost", (int)chargeUse(Dungeon.hero)); + } + + @Override + public float chargeUse(Hero hero) { + return 3f; + } + + @Override + protected void onTargetSelected(HolyTome tome, Hero hero, Integer target) { + + } +} 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 f481f6a1a..67ad57419 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIndicator.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIndicator.java @@ -129,6 +129,7 @@ public class BuffIndicator extends Component { public static final int HOLY_SIGHT = 77; public static final int GLYPH_RECALL= 78; public static final int ASCEND = 79; + public static final int PROT_AURA = 80; public static final int SIZE_SMALL = 7; public static final int SIZE_LARGE = 16; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/HeroIcon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/HeroIcon.java index cd70ba729..f5e1c9696 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/HeroIcon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/HeroIcon.java @@ -89,8 +89,8 @@ public class HeroIcon extends Image { public static final int MNEMONIC_PRAYER = 53; public static final int SMITE = 54; public static final int LAY_ON_HANDS = 55; - //56 - //57 + public static final int AURA_OF_PROTECTION = 56; + public static final int WALL_OF_LIGHT = 57; public static final int DIVINE_INTERVENTION = 58; public static final int JUDGEMENT = 59; public static final int FLASH = 60;