v1.1.0: tipped darts can now be transmuted

This commit is contained in:
Evan Debenham 2021-09-21 19:25:57 -04:00
parent ed019030d0
commit bb9947bee4

View File

@ -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 ||
@ -105,6 +106,8 @@ public class ScrollOfTransmutation extends InventoryScroll {
public static Item changeItem( Item item ){
if (item instanceof MagesStaff) {
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) {
@ -144,6 +147,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 ) {
Weapon n;