v3.0.0: fixed targeted cleric spells not updating targeted char

This commit is contained in:
Evan Debenham
2025-02-02 12:32:52 -05:00
parent df5362ec3b
commit 0bac8d9d04
6 changed files with 32 additions and 3 deletions
@@ -21,12 +21,12 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.hero.spells; 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.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.abilities.cleric.Trinity;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.HolyTome; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.HolyTome;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.ui.HeroIcon; import com.shatteredpixel.shatteredpixeldungeon.ui.HeroIcon;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
public class BodyForm extends ClericSpell { public class BodyForm extends ClericSpell {
@@ -49,7 +49,9 @@ public class BodyForm extends ClericSpell {
@Override @Override
public void onCast(HolyTome tome, Hero hero) { public void onCast(HolyTome tome, Hero hero) {
GLog.w("not implemented yet!");
GameScene.show(new Trinity.WndItemtypeSelect(tome, this));
} }
} }
@@ -37,6 +37,7 @@ import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite; import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator; import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
import com.shatteredpixel.shatteredpixeldungeon.ui.HeroIcon; import com.shatteredpixel.shatteredpixeldungeon.ui.HeroIcon;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlotButton;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.noosa.Image; import com.watabou.noosa.Image;
import com.watabou.noosa.audio.Sample; import com.watabou.noosa.audio.Sample;
@@ -65,6 +66,12 @@ public class GuidingLight extends TargetedClericSpell {
return; return;
} }
if (Actor.findChar(aim.collisionPos) != null) {
QuickSlotButton.target(Actor.findChar(aim.collisionPos));
} else {
QuickSlotButton.target(Actor.findChar(target));
}
hero.busy(); hero.busy();
Sample.INSTANCE.play( Assets.Sounds.ZAP ); Sample.INSTANCE.play( Assets.Sounds.ZAP );
hero.sprite.zap(target); hero.sprite.zap(target);
@@ -40,6 +40,7 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.sprites.MissileSprite; import com.shatteredpixel.shatteredpixeldungeon.sprites.MissileSprite;
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator; import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
import com.shatteredpixel.shatteredpixeldungeon.ui.HeroIcon; import com.shatteredpixel.shatteredpixeldungeon.ui.HeroIcon;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlotButton;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.noosa.Image; import com.watabou.noosa.Image;
import com.watabou.noosa.audio.Sample; import com.watabou.noosa.audio.Sample;
@@ -93,6 +94,12 @@ public class HolyLance extends TargetedClericSpell {
return; return;
} }
if (Actor.findChar(aim.collisionPos) != null) {
QuickSlotButton.target(Actor.findChar(aim.collisionPos));
} else {
QuickSlotButton.target(Actor.findChar(target));
}
hero.sprite.zap( target ); hero.sprite.zap( target );
hero.busy(); hero.busy();
@@ -57,6 +57,7 @@ import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.plants.Sungrass; import com.shatteredpixel.shatteredpixeldungeon.plants.Sungrass;
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator; import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
import com.shatteredpixel.shatteredpixeldungeon.ui.HeroIcon; import com.shatteredpixel.shatteredpixeldungeon.ui.HeroIcon;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlotButton;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.noosa.audio.Sample; import com.watabou.noosa.audio.Sample;
@@ -93,6 +94,8 @@ public class MnemonicPrayer extends TargetedClericSpell {
return; return;
} }
QuickSlotButton.target(ch);
float extension = 2 + hero.pointsInTalent(Talent.MNEMONIC_PRAYER); float extension = 2 + hero.pointsInTalent(Talent.MNEMONIC_PRAYER);
if (ch.alignment == Char.Alignment.ALLY){ if (ch.alignment == Char.Alignment.ALLY){
@@ -35,6 +35,7 @@ import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator; import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
import com.shatteredpixel.shatteredpixeldungeon.ui.HeroIcon; import com.shatteredpixel.shatteredpixeldungeon.ui.HeroIcon;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlotButton;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.noosa.audio.Sample; import com.watabou.noosa.audio.Sample;
import com.watabou.utils.Bundle; import com.watabou.utils.Bundle;
@@ -71,6 +72,8 @@ public class ShieldOfLight extends TargetedClericSpell {
return; return;
} }
QuickSlotButton.target(ch);
Sample.INSTANCE.play(Assets.Sounds.READ); Sample.INSTANCE.play(Assets.Sounds.READ);
hero.sprite.operate(hero.pos); hero.sprite.operate(hero.pos);
@@ -38,6 +38,7 @@ import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap; import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap;
import com.shatteredpixel.shatteredpixeldungeon.ui.HeroIcon; import com.shatteredpixel.shatteredpixeldungeon.ui.HeroIcon;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlotButton;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.noosa.audio.Sample; import com.watabou.noosa.audio.Sample;
import com.watabou.utils.Random; import com.watabou.utils.Random;
@@ -77,6 +78,12 @@ public class Sunray extends TargetedClericSpell {
return; return;
} }
if (Actor.findChar(aim.collisionPos) != null) {
QuickSlotButton.target(Actor.findChar(aim.collisionPos));
} else {
QuickSlotButton.target(Actor.findChar(target));
}
hero.busy(); hero.busy();
Sample.INSTANCE.play( Assets.Sounds.RAY ); Sample.INSTANCE.play( Assets.Sounds.RAY );
hero.sprite.zap(target); hero.sprite.zap(target);