v1.1.0: Recycle now works on tipped darts

This commit is contained in:
Evan Debenham 2021-11-24 16:27:21 -05:00
parent 556028f6b5
commit 8ead3dfda0
2 changed files with 10 additions and 4 deletions

View File

@ -1087,7 +1087,7 @@ items.spells.reclaimtrap.desc=This spell contains remnants of the mechanical ene
items.spells.recycle.name=recycle
items.spells.recycle.inv_title=Recycle an item
items.spells.recycle.recycled=Your item was recycled into: %s.
items.spells.recycle.desc=This spell contains a lesser form of transmutation magic. While it won't work on equipment, this spell will transform a scroll, potion, seed, or runestone into a random item of the same type.
items.spells.recycle.desc=This spell contains a lesser form of transmutation magic. While it won't work on equipment, this spell will transform a scroll, potion, seed, runestone, or tipped dart into a random item of the same type.
items.spells.targetedspell.prompt=Choose a target
items.spells.targetedspell.inv_title=Infuse an item

View File

@ -27,6 +27,8 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.effects.Transmuting;
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.glyphs.Stone;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.AlchemicalCatalyst;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.Brew;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.Elixir;
@ -35,6 +37,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.Scroll;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTransmutation;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ExoticScroll;
import com.shatteredpixel.shatteredpixeldungeon.items.stones.Runestone;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.darts.TippedDart;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.plants.Plant;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
@ -49,10 +52,11 @@ public class Recycle extends InventorySpell {
@Override
protected boolean usableOnItem(Item item) {
return (item instanceof Potion && !(item instanceof Elixir || item instanceof Brew)) ||
return (item instanceof Potion && !(item instanceof Elixir || item instanceof Brew || item instanceof AlchemicalCatalyst)) ||
item instanceof Scroll ||
item instanceof Plant.Seed ||
item instanceof Runestone;
item instanceof Runestone ||
item instanceof TippedDart;
}
@Override
@ -71,8 +75,10 @@ public class Recycle extends InventorySpell {
}
} else if (item instanceof Plant.Seed) {
result = Generator.random(Generator.Category.SEED);
} else {
} else if (item instanceof Runestone) {
result = Generator.random(Generator.Category.STONE);
} else {
result = TippedDart.randomTipped(1);
}
} while (result.getClass() == item.getClass() || Challenges.isItemBlocked(result));