use of com.watabou.pixeldungeon.items.bags.SeedPouch in project pixel-dungeon by watabou.
the class Level method drop.
public Heap drop(Item item, int cell) {
if (Dungeon.isChallenged(Challenges.NO_FOOD) && item instanceof Food) {
item = new Gold(item.price());
} else if (Dungeon.isChallenged(Challenges.NO_ARMOR) && item instanceof Armor) {
item = new Gold(item.price());
} else if (Dungeon.isChallenged(Challenges.NO_HEALING) && item instanceof PotionOfHealing) {
item = new Gold(item.price());
} else if (Dungeon.isChallenged(Challenges.NO_HERBALISM) && item instanceof SeedPouch) {
item = new Gold(item.price());
} else if (Dungeon.isChallenged(Challenges.NO_SCROLLS) && (item instanceof Scroll || item instanceof ScrollHolder)) {
if (item instanceof ScrollOfUpgrade) {
// These scrolls still can be found
} else {
item = new Gold(item.price());
}
}
if ((map[cell] == Terrain.ALCHEMY) && !(item instanceof Plant.Seed)) {
int n;
do {
n = cell + NEIGHBOURS8[Random.Int(8)];
} while (map[n] != Terrain.EMPTY_SP);
cell = n;
}
Heap heap = heaps.get(cell);
if (heap == null) {
heap = new Heap();
heap.pos = cell;
if (map[cell] == Terrain.CHASM || (Dungeon.level != null && pit[cell])) {
Dungeon.dropToChasm(item);
GameScene.discard(heap);
} else {
heaps.put(cell, heap);
GameScene.add(heap);
}
} else if (heap.type == Heap.Type.LOCKED_CHEST || heap.type == Heap.Type.CRYSTAL_CHEST) {
int n;
do {
n = cell + Level.NEIGHBOURS8[Random.Int(8)];
} while (!Level.passable[n] && !Level.avoid[n]);
return drop(item, n);
}
heap.drop(item);
if (Dungeon.level != null) {
press(cell, null);
}
return heap;
}
use of com.watabou.pixeldungeon.items.bags.SeedPouch in project pixel-dungeon by watabou.
the class ShopPainter method range.
private static Item[] range() {
ArrayList<Item> items = new ArrayList<Item>();
switch(Dungeon.depth) {
case 6:
items.add((Random.Int(2) == 0 ? new Quarterstaff() : new Spear()).identify());
items.add(new LeatherArmor().identify());
items.add(new SeedPouch());
items.add(new Weightstone());
break;
case 11:
items.add((Random.Int(2) == 0 ? new Sword() : new Mace()).identify());
items.add(new MailArmor().identify());
items.add(new ScrollHolder());
items.add(new Weightstone());
break;
case 16:
items.add((Random.Int(2) == 0 ? new Longsword() : new BattleAxe()).identify());
items.add(new ScaleArmor().identify());
items.add(new WandHolster());
items.add(new Weightstone());
break;
case 21:
switch(Random.Int(3)) {
case 0:
items.add(new Glaive().identify());
break;
case 1:
items.add(new WarHammer().identify());
break;
case 2:
items.add(new PlateArmor().identify());
break;
}
items.add(new Torch());
items.add(new Torch());
break;
}
items.add(new PotionOfHealing());
for (int i = 0; i < 3; i++) {
items.add(Generator.random(Generator.Category.POTION));
}
items.add(new ScrollOfIdentify());
items.add(new ScrollOfRemoveCurse());
items.add(new ScrollOfMagicMapping());
items.add(Generator.random(Generator.Category.SCROLL));
items.add(new OverpricedRation());
items.add(new OverpricedRation());
items.add(new Ankh());
Item[] range = items.toArray(new Item[0]);
Random.shuffle(range);
return range;
}
Aggregations