diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/items/MerchantsBeacon.java b/src/com/shatteredpixel/shatteredpixeldungeon/items/MerchantsBeacon.java new file mode 100644 index 000000000..fafe3ed1a --- /dev/null +++ b/src/com/shatteredpixel/shatteredpixeldungeon/items/MerchantsBeacon.java @@ -0,0 +1,70 @@ +package com.shatteredpixel.shatteredpixeldungeon.items; + +import com.shatteredpixel.shatteredpixeldungeon.Assets; +import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; +import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Shopkeeper; +import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; +import com.watabou.noosa.audio.Sample; + +import java.util.ArrayList; + +/** + * Created by debenhame on 16/03/2015. + */ +public class MerchantsBeacon extends Item { + + private static final String AC_USE = "USE"; + + + { + name = "merchant's beacon"; + image = ItemSpriteSheet.BEACON; //TODO: make sprite + + stackable = true; + + defaultAction = AC_USE; + + bones = true; + } + + @Override + public ArrayList actions(Hero hero) { + ArrayList actions = super.actions(hero); + actions.add(AC_USE); + return actions; + } + + @Override + public void execute(Hero hero, String action) { + if (action.equals(AC_USE)) { + detach( hero.belongings.backpack ); + Shopkeeper.sell(); + Sample.INSTANCE.play( Assets.SND_BEACON ); + } else + super.execute(hero, action); + } + + @Override + public boolean isUpgradable() { + return false; + } + + @Override + public boolean isIdentified() { + return true; + } + + @Override + public int price() { + return 10 * quantity; + } + + @Override + //todo add description + public String info() { + return "This odd piece of dwarvern technology allows you to communicate from great distances." + + "\n\nAfter being activated, this beacon will let you sell items to Pixel Mart from anywhere in the dungeon." + + "\n\nOnce activated, the magic within the beacon will only last for one session though, so use it wisely."; + } + +} diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/ShopPainter.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/ShopPainter.java index d98faad8e..045cfc274 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/ShopPainter.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/painters/ShopPainter.java @@ -28,6 +28,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Generator; import com.shatteredpixel.shatteredpixeldungeon.items.Heap; import com.shatteredpixel.shatteredpixeldungeon.items.Honeypot; import com.shatteredpixel.shatteredpixeldungeon.items.Item; +import com.shatteredpixel.shatteredpixeldungeon.items.MerchantsBeacon; import com.shatteredpixel.shatteredpixeldungeon.items.Stylus; import com.shatteredpixel.shatteredpixeldungeon.items.Torch; import com.shatteredpixel.shatteredpixeldungeon.items.Weightstone; @@ -157,6 +158,8 @@ public class ShopPainter extends Painter { break; } + itemsToSpawn.add( new MerchantsBeacon() ); + ChooseBag(Dungeon.hero.belongings);