v1.3.0: Added several new spell effect icons, and other small vfs tweaks

This commit is contained in:
Evan Debenham
2022-04-25 14:36:48 -04:00
parent 7e4911effe
commit ede0439ab8
24 changed files with 47 additions and 12 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 427 B

After

Width:  |  Height:  |  Size: 488 B

View File

@@ -34,7 +34,6 @@ public class Foresight extends FlavourBuff {
{ {
type = buffType.POSITIVE; type = buffType.POSITIVE;
announced = true;
} }
@Override @Override

View File

@@ -35,7 +35,6 @@ public class MagicalSight extends FlavourBuff {
{ {
type = buffType.POSITIVE; type = buffType.POSITIVE;
announced = true;
} }
@Override @Override

View File

@@ -34,7 +34,6 @@ public class MindVision extends FlavourBuff {
{ {
type = buffType.POSITIVE; type = buffType.POSITIVE;
announced = true;
} }
@Override @Override

View File

@@ -25,6 +25,7 @@ import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon; import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck; import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.effects.SpellSprite;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.ui.ActionIndicator; import com.shatteredpixel.shatteredpixeldungeon.ui.ActionIndicator;
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIcon; import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIcon;
@@ -211,6 +212,7 @@ public class Momentum extends Buff implements ActionIndicator.Action {
freerunCooldown = 10 + 4*momentumStacks; freerunCooldown = 10 + 4*momentumStacks;
Sample.INSTANCE.play(Assets.Sounds.MISS, 1f, 0.8f); Sample.INSTANCE.play(Assets.Sounds.MISS, 1f, 0.8f);
target.sprite.emitter().burst(Speck.factory(Speck.JET), 5+ momentumStacks); target.sprite.emitter().burst(Speck.factory(Speck.JET), 5+ momentumStacks);
SpellSprite.show(target, SpellSprite.HASTE, 1, 1, 0);
momentumStacks = 0; momentumStacks = 0;
BuffIndicator.refreshHero(); BuffIndicator.refreshHero();
ActionIndicator.clearAction(this); ActionIndicator.clearAction(this);

View File

@@ -346,6 +346,7 @@ public enum Talent {
//5/8 turns of recharging //5/8 turns of recharging
Buff.prolong( hero, Recharging.class, 2 + 3*(hero.pointsInTalent(ENERGIZING_MEAL)) ); Buff.prolong( hero, Recharging.class, 2 + 3*(hero.pointsInTalent(ENERGIZING_MEAL)) );
ScrollOfRecharging.charge( hero ); ScrollOfRecharging.charge( hero );
SpellSprite.show(hero, SpellSprite.CHARGE);
} }
if (hero.hasTalent(MYSTICAL_MEAL)){ if (hero.hasTalent(MYSTICAL_MEAL)){
//3/5 turns of recharging //3/5 turns of recharging
@@ -354,6 +355,7 @@ public enum Talent {
Buff.affect( hero, ArtifactRecharge.class).set(1 + 2*(hero.pointsInTalent(MYSTICAL_MEAL))).ignoreHornOfPlenty = foodSource instanceof HornOfPlenty; Buff.affect( hero, ArtifactRecharge.class).set(1 + 2*(hero.pointsInTalent(MYSTICAL_MEAL))).ignoreHornOfPlenty = foodSource instanceof HornOfPlenty;
} }
ScrollOfRecharging.charge( hero ); ScrollOfRecharging.charge( hero );
SpellSprite.show(hero, SpellSprite.CHARGE, 0, 1, 1);
} }
if (hero.hasTalent(INVIGORATING_MEAL)){ if (hero.hasTalent(INVIGORATING_MEAL)){
//effectively 1/2 turns of haste //effectively 1/2 turns of haste
@@ -453,10 +455,12 @@ public enum Talent {
if (cloak != null) { if (cloak != null) {
cloak.overCharge(1 + hero.pointsInTalent(MYSTICAL_UPGRADE)); cloak.overCharge(1 + hero.pointsInTalent(MYSTICAL_UPGRADE));
ScrollOfRecharging.charge(Dungeon.hero); ScrollOfRecharging.charge(Dungeon.hero);
SpellSprite.show(hero, SpellSprite.CHARGE); SpellSprite.show(hero, SpellSprite.CHARGE, 0, 1, 1);
} }
} else { } else {
Buff.affect(hero, ArtifactRecharge.class).set( 2 + 4*hero.pointsInTalent(MYSTICAL_UPGRADE) ).ignoreHornOfPlenty = false; Buff.affect(hero, ArtifactRecharge.class).set( 2 + 4*hero.pointsInTalent(MYSTICAL_UPGRADE) ).ignoreHornOfPlenty = false;
ScrollOfRecharging.charge(Dungeon.hero);
SpellSprite.show(hero, SpellSprite.CHARGE, 0, 1, 1);
} }
} }
} }

View File

@@ -48,6 +48,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.hero.abilities.ArmorAbili
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
import com.shatteredpixel.shatteredpixeldungeon.effects.MagicMissile; import com.shatteredpixel.shatteredpixeldungeon.effects.MagicMissile;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck; import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.effects.SpellSprite;
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.ShadowParticle; import com.shatteredpixel.shatteredpixeldungeon.effects.particles.ShadowParticle;
import com.shatteredpixel.shatteredpixeldungeon.items.Item; import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.ClassArmor; import com.shatteredpixel.shatteredpixeldungeon.items.armor.ClassArmor;
@@ -366,6 +367,7 @@ public class ElementalBlast extends ArmorAbility {
//*** Wand of Magic Missile *** //*** Wand of Magic Missile ***
if (finalWandCls == WandOfMagicMissile.class) { if (finalWandCls == WandOfMagicMissile.class) {
Buff.affect(hero, Recharging.class, effectMulti* Recharging.DURATION / 2f); Buff.affect(hero, Recharging.class, effectMulti* Recharging.DURATION / 2f);
SpellSprite.show( hero, SpellSprite.CHARGE );
//*** Wand of Living Earth *** //*** Wand of Living Earth ***
} else if (finalWandCls == WandOfLivingEarth.class && charsHit > 0){ } else if (finalWandCls == WandOfLivingEarth.class && charsHit > 0){

View File

@@ -149,6 +149,7 @@ public class Endure extends ArmorAbility {
if (damageBonus > 0) { if (damageBonus > 0) {
target.sprite.centerEmitter().start( Speck.factory( Speck.SCREAM ), 0.3f, 3 ); target.sprite.centerEmitter().start( Speck.factory( Speck.SCREAM ), 0.3f, 3 );
Sample.INSTANCE.play(Assets.Sounds.CHALLENGE); Sample.INSTANCE.play(Assets.Sounds.CHALLENGE);
SpellSprite.show(target, SpellSprite.BERSERK);
} else { } else {
detach(); detach();
} }

View File

@@ -26,6 +26,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.ShieldBuff; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.ShieldBuff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Terror; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Terror;
import com.shatteredpixel.shatteredpixeldungeon.effects.SpellSprite;
import com.shatteredpixel.shatteredpixeldungeon.items.Gold; import com.shatteredpixel.shatteredpixeldungeon.items.Gold;
import com.shatteredpixel.shatteredpixeldungeon.levels.features.Chasm; import com.shatteredpixel.shatteredpixeldungeon.levels.features.Chasm;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
@@ -93,7 +94,7 @@ public class Brute extends Mob {
protected void triggerEnrage(){ protected void triggerEnrage(){
Buff.affect(this, BruteRage.class).setShield(HT/2 + 4); Buff.affect(this, BruteRage.class).setShield(HT/2 + 4);
if (Dungeon.level.heroFOV[pos]) { if (Dungeon.level.heroFOV[pos]) {
sprite.showStatus( CharSprite.NEGATIVE, Messages.get(this, "enraged") ); SpellSprite.show( this, SpellSprite.BERSERK);
} }
spend( TICK ); spend( TICK );
hasRaged = true; hasRaged = true;

View File

@@ -36,9 +36,11 @@ public class SpellSprite extends Image {
public static final int FOOD = 0; public static final int FOOD = 0;
public static final int MAP = 1; public static final int MAP = 1;
public static final int CHARGE = 2; public static final int CHARGE = 2;
public static final int MASTERY = 3; public static final int BERSERK = 3;
public static final int BERSERK = 4; public static final int ANKH = 4;
public static final int ANKH = 5; public static final int HASTE = 5;
public static final int VISION = 6;
public static final int PURITY = 7;
private static final int SIZE = 16; private static final int SIZE = 16;
@@ -129,6 +131,10 @@ public class SpellSprite extends Image {
} }
public static void show( Char ch, int index ) { public static void show( Char ch, int index ) {
show(ch, index, 1, 1, 1);
}
public static void show( Char ch, int index, float r, float g, float b ) {
if (!ch.sprite.visible) { if (!ch.sprite.visible) {
return; return;
@@ -142,6 +148,7 @@ public class SpellSprite extends Image {
SpellSprite sprite = GameScene.spellSprite(); SpellSprite sprite = GameScene.spellSprite();
sprite.target = ch; sprite.target = ch;
sprite.reset( index ); sprite.reset( index );
sprite.hardlight(r, g, b);
sprite.revive(); sprite.revive();
all.put( ch, sprite ); all.put( ch, sprite );
} }

View File

@@ -22,6 +22,7 @@
package com.shatteredpixel.shatteredpixeldungeon.items.potions; package com.shatteredpixel.shatteredpixeldungeon.items.potions;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.effects.Flare;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
public class PotionOfExperience extends Potion { public class PotionOfExperience extends Potion {
@@ -36,6 +37,7 @@ public class PotionOfExperience extends Potion {
public void apply( Hero hero ) { public void apply( Hero hero ) {
identify(); identify();
hero.earnExp( hero.maxExp(), getClass() ); hero.earnExp( hero.maxExp(), getClass() );
new Flare( 6, 32 ).color(0xFFFF00, true).show( curUser.sprite, 2f );
} }
@Override @Override

View File

@@ -24,6 +24,7 @@ package com.shatteredpixel.shatteredpixeldungeon.items.potions;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Haste; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Haste;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.effects.SpellSprite;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
@@ -40,6 +41,7 @@ public class PotionOfHaste extends Potion {
GLog.w( Messages.get(this, "energetic") ); GLog.w( Messages.get(this, "energetic") );
Buff.prolong( hero, Haste.class, Haste.DURATION); Buff.prolong( hero, Haste.class, Haste.DURATION);
SpellSprite.show(hero, SpellSprite.HASTE, 1, 1, 0);
} }
@Override @Override

View File

@@ -25,6 +25,7 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MindVision; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MindVision;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.effects.SpellSprite;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
@@ -39,6 +40,7 @@ public class PotionOfMindVision extends Potion {
public void apply( Hero hero ) { public void apply( Hero hero ) {
identify(); identify();
Buff.affect( hero, MindVision.class, MindVision.DURATION ); Buff.affect( hero, MindVision.class, MindVision.DURATION );
SpellSprite.show(hero, SpellSprite.VISION, 1, 0.77f, 0.9f);
Dungeon.observe(); Dungeon.observe();
if (Dungeon.level.mobs.size() > 0) { if (Dungeon.level.mobs.size() > 0) {

View File

@@ -29,6 +29,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter; import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck; import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.effects.SpellSprite;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.utils.BArray; import com.shatteredpixel.shatteredpixeldungeon.utils.BArray;
@@ -92,6 +93,7 @@ public class PotionOfPurity extends Potion {
public void apply( Hero hero ) { public void apply( Hero hero ) {
GLog.w( Messages.get(this, "protected") ); GLog.w( Messages.get(this, "protected") );
Buff.prolong( hero, BlobImmunity.class, BlobImmunity.DURATION ); Buff.prolong( hero, BlobImmunity.class, BlobImmunity.DURATION );
SpellSprite.show(hero, SpellSprite.PURITY);
identify(); identify();
} }

View File

@@ -31,6 +31,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.FlavourBuff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hunger; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hunger;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LostInventory; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LostInventory;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.effects.Flare;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator; import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
@@ -48,6 +49,7 @@ public class PotionOfCleansing extends ExoticPotion {
identify(); identify();
cleanse( hero ); cleanse( hero );
new Flare( 6, 32 ).color(0xFF4CD2, true).show( curUser.sprite, 2f );
} }
@Override @Override

View File

@@ -25,6 +25,7 @@ import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon; import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.effects.Flare;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene; import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
@@ -122,6 +123,7 @@ public class PotionOfDivineInspiration extends ExoticPotion {
Sample.INSTANCE.play( Assets.Sounds.DRINK ); Sample.INSTANCE.play( Assets.Sounds.DRINK );
Sample.INSTANCE.playDelayed(Assets.Sounds.LEVELUP, 0.3f, 0.7f, 1.2f); Sample.INSTANCE.playDelayed(Assets.Sounds.LEVELUP, 0.3f, 0.7f, 1.2f);
Sample.INSTANCE.playDelayed(Assets.Sounds.LEVELUP, 0.6f, 0.7f, 1.2f); Sample.INSTANCE.playDelayed(Assets.Sounds.LEVELUP, 0.6f, 0.7f, 1.2f);
new Flare( 6, 32 ).color(0xFFFF00, true).show( curUser.sprite, 2f );
GLog.p(Messages.get(PotionOfDivineInspiration.class, "bonus")); GLog.p(Messages.get(PotionOfDivineInspiration.class, "bonus"));
} }

View File

@@ -25,6 +25,7 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MagicalSight; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MagicalSight;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.effects.SpellSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
public class PotionOfMagicalSight extends ExoticPotion { public class PotionOfMagicalSight extends ExoticPotion {
@@ -37,6 +38,7 @@ public class PotionOfMagicalSight extends ExoticPotion {
public void apply(Hero hero) { public void apply(Hero hero) {
identify(); identify();
Buff.affect(hero, MagicalSight.class, MagicalSight.DURATION); Buff.affect(hero, MagicalSight.class, MagicalSight.DURATION);
SpellSprite.show(hero, SpellSprite.VISION);
Dungeon.observe(); Dungeon.observe();
} }

View File

@@ -24,6 +24,7 @@ package com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Stamina; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Stamina;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.effects.SpellSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
public class PotionOfStamina extends ExoticPotion { public class PotionOfStamina extends ExoticPotion {
@@ -37,6 +38,7 @@ public class PotionOfStamina extends ExoticPotion {
identify(); identify();
Buff.affect(hero, Stamina.class, Stamina.DURATION); Buff.affect(hero, Stamina.class, Stamina.DURATION);
SpellSprite.show(hero, SpellSprite.HASTE, 0.5f, 1, 0.5f);
} }
} }

View File

@@ -64,7 +64,7 @@ public class ScrollOfRemoveCurse extends InventoryScroll {
@Override @Override
protected void onItemSelected(Item item) { protected void onItemSelected(Item item) {
new Flare( 6, 32 ).show( curUser.sprite, 2f ) ; new Flare( 6, 32 ).show( curUser.sprite, 2f );
boolean procced = uncurse( curUser, item ); boolean procced = uncurse( curUser, item );

View File

@@ -36,7 +36,7 @@ public class ScrollOfAntiMagic extends ExoticScroll {
public void doRead() { public void doRead() {
Buff.affect( curUser, MagicImmune.class, MagicImmune.DURATION ); Buff.affect( curUser, MagicImmune.class, MagicImmune.DURATION );
new Flare( 5, 32 ).color( 0xFF0000, true ).show( curUser.sprite, 2f ); new Flare( 5, 32 ).color( 0x00FF00, true ).show( curUser.sprite, 2f );
identify(); identify();

View File

@@ -36,7 +36,6 @@ public class ScrollOfForesight extends ExoticScroll {
@Override @Override
public void doRead() { public void doRead() {
SpellSprite.show( curUser, SpellSprite.MAP );
Sample.INSTANCE.play( Assets.Sounds.READ ); Sample.INSTANCE.play( Assets.Sounds.READ );
Buff.affect(curUser, Foresight.class, Foresight.DURATION); Buff.affect(curUser, Foresight.class, Foresight.DURATION);

View File

@@ -44,7 +44,7 @@ public class ScrollOfMysticalEnergy extends ExoticScroll {
Sample.INSTANCE.play( Assets.Sounds.READ ); Sample.INSTANCE.play( Assets.Sounds.READ );
Sample.INSTANCE.play( Assets.Sounds.CHARGEUP ); Sample.INSTANCE.play( Assets.Sounds.CHARGEUP );
SpellSprite.show( curUser, SpellSprite.CHARGE ); SpellSprite.show( curUser, SpellSprite.CHARGE, 0, 1, 1 );
identify(); identify();
ScrollOfRecharging.charge(curUser); ScrollOfRecharging.charge(curUser);

View File

@@ -26,6 +26,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.ArtifactRecharge;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Recharging; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Recharging;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.effects.SpellSprite;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.Artifact; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.Artifact;
import com.shatteredpixel.shatteredpixeldungeon.items.quest.MetalShard; import com.shatteredpixel.shatteredpixeldungeon.items.quest.MetalShard;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRecharging; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRecharging;
@@ -54,6 +55,7 @@ public class WildEnergy extends TargetedSpell {
Sample.INSTANCE.play( Assets.Sounds.LIGHTNING ); Sample.INSTANCE.play( Assets.Sounds.LIGHTNING );
Sample.INSTANCE.play( Assets.Sounds.CHARGEUP ); Sample.INSTANCE.play( Assets.Sounds.CHARGEUP );
ScrollOfRecharging.charge(hero); ScrollOfRecharging.charge(hero);
SpellSprite.show(hero, SpellSprite.CHARGE);
hero.belongings.charge(1f); hero.belongings.charge(1f);
for (Buff b : hero.buffs()){ for (Buff b : hero.buffs()){

View File

@@ -27,6 +27,8 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Recharging; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Recharging;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroSubClass; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroSubClass;
import com.shatteredpixel.shatteredpixeldungeon.effects.Flare;
import com.shatteredpixel.shatteredpixeldungeon.effects.SpellSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
public class Starflower extends Plant { public class Starflower extends Plant {
@@ -41,8 +43,10 @@ public class Starflower extends Plant {
if (ch != null) { if (ch != null) {
Buff.prolong(ch, Bless.class, Bless.DURATION); Buff.prolong(ch, Bless.class, Bless.DURATION);
new Flare( 6, 32 ).color(0xFFFF00, true).show( ch.sprite, 2f );
if (ch instanceof Hero && ((Hero) ch).subClass == HeroSubClass.WARDEN){ if (ch instanceof Hero && ((Hero) ch).subClass == HeroSubClass.WARDEN){
Buff.prolong(ch, Recharging.class, Recharging.DURATION); Buff.prolong(ch, Recharging.class, Recharging.DURATION);
SpellSprite.show( ch, SpellSprite.CHARGE );
} }
} }