From bb9947bee4cc8f7a151b18b2adad79716b868be8 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Tue, 21 Sep 2021 19:25:57 -0400 Subject: [PATCH] v1.1.0: tipped darts can now be transmuted --- .../items/scrolls/ScrollOfTransmutation.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfTransmutation.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfTransmutation.java index dce10dcc0..3cb70788e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfTransmutation.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfTransmutation.java @@ -43,6 +43,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.MissileWeapon; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.darts.Dart; +import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.darts.TippedDart; import com.shatteredpixel.shatteredpixeldungeon.journal.Catalog; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.plants.Plant; @@ -62,7 +63,7 @@ public class ScrollOfTransmutation extends InventoryScroll { @Override protected boolean usableOnItem(Item item) { return item instanceof MeleeWeapon || - (item instanceof MissileWeapon && !(item instanceof Dart)) || + (item instanceof MissileWeapon && (!(item instanceof Dart) || item instanceof TippedDart)) || (item instanceof Potion && !(item instanceof Elixir || item instanceof Brew || item instanceof AlchemicalCatalyst)) || item instanceof Scroll || item instanceof Ring || @@ -104,7 +105,9 @@ public class ScrollOfTransmutation extends InventoryScroll { public static Item changeItem( Item item ){ if (item instanceof MagesStaff) { - return changeStaff( (MagesStaff)item ); + return changeStaff((MagesStaff) item); + }else if (item instanceof TippedDart){ + return changeTippeDart( (TippedDart)item ); } else if (item instanceof MeleeWeapon || item instanceof MissileWeapon) { return changeWeapon( (Weapon)item ); } else if (item instanceof Scroll) { @@ -143,6 +146,15 @@ public class ScrollOfTransmutation extends InventoryScroll { return staff; } + + private static TippedDart changeTippeDart( TippedDart dart ){ + TippedDart n; + do { + n = TippedDart.randomTipped(1); + } while (n.getClass() == dart.getClass()); + + return n; + } private static Weapon changeWeapon( Weapon w ) {