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

View File

@@ -21,12 +21,12 @@
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.actors.hero.abilities.cleric.Trinity;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.HolyTome;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.ui.HeroIcon;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
public class BodyForm extends ClericSpell {
@@ -49,7 +49,9 @@ public class BodyForm extends ClericSpell {
@Override
public void onCast(HolyTome tome, Hero hero) {
GLog.w("not implemented yet!");
GameScene.show(new Trinity.WndItemtypeSelect(tome, this));
}
}

View File

@@ -37,6 +37,7 @@ import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
import com.shatteredpixel.shatteredpixeldungeon.ui.HeroIcon;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlotButton;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.noosa.Image;
import com.watabou.noosa.audio.Sample;
@@ -65,6 +66,12 @@ public class GuidingLight extends TargetedClericSpell {
return;
}
if (Actor.findChar(aim.collisionPos) != null) {
QuickSlotButton.target(Actor.findChar(aim.collisionPos));
} else {
QuickSlotButton.target(Actor.findChar(target));
}
hero.busy();
Sample.INSTANCE.play( Assets.Sounds.ZAP );
hero.sprite.zap(target);

View File

@@ -40,6 +40,7 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.sprites.MissileSprite;
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
import com.shatteredpixel.shatteredpixeldungeon.ui.HeroIcon;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlotButton;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.noosa.Image;
import com.watabou.noosa.audio.Sample;
@@ -93,6 +94,12 @@ public class HolyLance extends TargetedClericSpell {
return;
}
if (Actor.findChar(aim.collisionPos) != null) {
QuickSlotButton.target(Actor.findChar(aim.collisionPos));
} else {
QuickSlotButton.target(Actor.findChar(target));
}
hero.sprite.zap( target );
hero.busy();

View File

@@ -57,6 +57,7 @@ import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.plants.Sungrass;
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
import com.shatteredpixel.shatteredpixeldungeon.ui.HeroIcon;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlotButton;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.noosa.audio.Sample;
@@ -93,6 +94,8 @@ public class MnemonicPrayer extends TargetedClericSpell {
return;
}
QuickSlotButton.target(ch);
float extension = 2 + hero.pointsInTalent(Talent.MNEMONIC_PRAYER);
if (ch.alignment == Char.Alignment.ALLY){

View File

@@ -35,6 +35,7 @@ import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
import com.shatteredpixel.shatteredpixeldungeon.ui.HeroIcon;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlotButton;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.noosa.audio.Sample;
import com.watabou.utils.Bundle;
@@ -71,6 +72,8 @@ public class ShieldOfLight extends TargetedClericSpell {
return;
}
QuickSlotButton.target(ch);
Sample.INSTANCE.play(Assets.Sounds.READ);
hero.sprite.operate(hero.pos);

View File

@@ -38,6 +38,7 @@ import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap;
import com.shatteredpixel.shatteredpixeldungeon.ui.HeroIcon;
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlotButton;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.noosa.audio.Sample;
import com.watabou.utils.Random;
@@ -77,6 +78,12 @@ public class Sunray extends TargetedClericSpell {
return;
}
if (Actor.findChar(aim.collisionPos) != null) {
QuickSlotButton.target(Actor.findChar(aim.collisionPos));
} else {
QuickSlotButton.target(Actor.findChar(target));
}
hero.busy();
Sample.INSTANCE.play( Assets.Sounds.RAY );
hero.sprite.zap(target);