v0.2.3: partial implementation of Timekeeper's Hourglass
This commit is contained in:
parent
e6e0966635
commit
ee9aad9078
|
@ -17,27 +17,13 @@
|
||||||
*/
|
*/
|
||||||
package com.shatteredpixel.shatteredpixeldungeon.actors.hero;
|
package com.shatteredpixel.shatteredpixeldungeon.actors.hero;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashSet;
|
|
||||||
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.ResultDescriptions;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Statistics;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Drowsy;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Vertigo;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.NPC;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.CapeOfThorns;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.TalismanOfForesight;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.rings.*;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.MissileWeapon;
|
|
||||||
import com.watabou.noosa.Camera;
|
|
||||||
import com.watabou.noosa.Game;
|
|
||||||
import com.watabou.noosa.audio.Sample;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Badges;
|
import com.shatteredpixel.shatteredpixeldungeon.Badges;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Bones;
|
import com.shatteredpixel.shatteredpixeldungeon.Bones;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.GamesInProgress;
|
import com.shatteredpixel.shatteredpixeldungeon.GamesInProgress;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.ResultDescriptions;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.Statistics;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Barkskin;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Barkskin;
|
||||||
|
@ -45,8 +31,10 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Bleeding;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Blindness;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Blindness;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Charm;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Combo;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Combo;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Drowsy;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Fury;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Fury;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hunger;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hunger;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
|
||||||
|
@ -56,32 +44,45 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Paralysis;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Poison;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Poison;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Regeneration;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Regeneration;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Charm;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.SnipersMark;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.SnipersMark;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Vertigo;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Weakness;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Weakness;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.NPC;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.CheckedCell;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.CheckedCell;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.Flare;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.Flare;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Amulet;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Amulet;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Ankh;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Ankh;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Dewdrop;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.DewVial;
|
import com.shatteredpixel.shatteredpixeldungeon.items.DewVial;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.Dewdrop;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Heap.Type;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Heap.Type;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.KindOfWeapon;
|
import com.shatteredpixel.shatteredpixeldungeon.items.KindOfWeapon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor;
|
import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.CapeOfThorns;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.TalismanOfForesight;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.TimekeepersHourglass;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.keys.GoldenKey;
|
import com.shatteredpixel.shatteredpixeldungeon.items.keys.GoldenKey;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.keys.Key;
|
import com.shatteredpixel.shatteredpixeldungeon.items.keys.Key;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.keys.SkeletonKey;
|
import com.shatteredpixel.shatteredpixeldungeon.items.keys.SkeletonKey;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfStrength;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfStrength;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfElements;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfEvasion;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfForce;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfFuror;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfHaste;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfMight;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfTenacity;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfMagicMapping;
|
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfMagicMapping;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRecharging;
|
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRecharging;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfUpgrade;
|
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfUpgrade;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand;
|
import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.MissileWeapon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.features.AlchemyPot;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.features.AlchemyPot;
|
||||||
|
@ -100,9 +101,15 @@ import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndMessage;
|
import com.shatteredpixel.shatteredpixeldungeon.windows.WndMessage;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndResurrect;
|
import com.shatteredpixel.shatteredpixeldungeon.windows.WndResurrect;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndTradeItem;
|
import com.shatteredpixel.shatteredpixeldungeon.windows.WndTradeItem;
|
||||||
|
import com.watabou.noosa.Camera;
|
||||||
|
import com.watabou.noosa.Game;
|
||||||
|
import com.watabou.noosa.audio.Sample;
|
||||||
import com.watabou.utils.Bundle;
|
import com.watabou.utils.Bundle;
|
||||||
import com.watabou.utils.Random;
|
import com.watabou.utils.Random;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashSet;
|
||||||
|
|
||||||
public class Hero extends Char {
|
public class Hero extends Char {
|
||||||
|
|
||||||
private static final String TXT_LEAVE = "One does not simply leave Pixel Dungeon.";
|
private static final String TXT_LEAVE = "One does not simply leave Pixel Dungeon.";
|
||||||
|
@ -589,7 +596,7 @@ public class Hero extends Char {
|
||||||
Item item = heap.pickUp();
|
Item item = heap.pickUp();
|
||||||
if (item.doPickUp( this )) {
|
if (item.doPickUp( this )) {
|
||||||
|
|
||||||
if (item instanceof Dewdrop) {
|
if (item instanceof Dewdrop || item instanceof TimekeepersHourglass.sandBag) {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,160 @@
|
||||||
|
package com.shatteredpixel.shatteredpixeldungeon.items.artifacts;
|
||||||
|
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlot;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||||
|
import com.watabou.noosa.audio.Sample;
|
||||||
|
import com.watabou.utils.Bundle;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by debenhame on 01/12/2014.
|
||||||
|
*/
|
||||||
|
public class TimekeepersHourglass extends Artifact {
|
||||||
|
//TODO: string, effect implementation.
|
||||||
|
|
||||||
|
{
|
||||||
|
name = "timekeeper's hourglass";
|
||||||
|
image = 0;
|
||||||
|
|
||||||
|
level = 0;
|
||||||
|
levelCap = 5;
|
||||||
|
charge = 5+level;
|
||||||
|
chargeCap = 5+level;
|
||||||
|
defaultAction = AC_ACTIVATE;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final String AC_ACTIVATE = "ACTIVATE";
|
||||||
|
|
||||||
|
//keeps track of generated sandbags.
|
||||||
|
public int sandBags = 0;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ArrayList<String> actions( Hero hero ) {
|
||||||
|
ArrayList<String> actions = super.actions( hero );
|
||||||
|
if (isEquipped( hero ) && charge > 0)
|
||||||
|
actions.add(AC_ACTIVATE);
|
||||||
|
return actions;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute( Hero hero, String action ) {
|
||||||
|
if (action.equals(AC_ACTIVATE)){
|
||||||
|
//todo: add logic here
|
||||||
|
} else
|
||||||
|
super.execute(hero, action);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected ArtifactBuff passiveBuff() {
|
||||||
|
return new hourglassRecharge();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Item upgrade() {
|
||||||
|
chargeCap++;
|
||||||
|
|
||||||
|
//for artifact transmutation.
|
||||||
|
while (level+1 > sandBags)
|
||||||
|
sandBags ++;
|
||||||
|
|
||||||
|
return super.upgrade();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String desc() {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
//needs to bundle chargecap as it is dynamic.
|
||||||
|
private static final String CHARGECAP = "chargecap";
|
||||||
|
private static final String SANDBAGS = "sandbags";
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void storeInBundle( Bundle bundle ) {
|
||||||
|
super.storeInBundle(bundle);
|
||||||
|
bundle.put( CHARGECAP, chargeCap );
|
||||||
|
bundle.put( SANDBAGS, sandBags );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void restoreFromBundle( Bundle bundle ) {
|
||||||
|
super.restoreFromBundle(bundle);
|
||||||
|
chargeCap = bundle.getInt( CHARGECAP );
|
||||||
|
sandBags = bundle.getInt( SANDBAGS );
|
||||||
|
}
|
||||||
|
|
||||||
|
public class hourglassRecharge extends ArtifactBuff {
|
||||||
|
@Override
|
||||||
|
public boolean act() {
|
||||||
|
if (charge < chargeCap) {
|
||||||
|
partialCharge += 1 / (40f - (chargeCap - charge)*3f);
|
||||||
|
|
||||||
|
if (partialCharge >= 1) {
|
||||||
|
partialCharge --;
|
||||||
|
charge ++;
|
||||||
|
|
||||||
|
if (charge == chargeCap){
|
||||||
|
partialCharge = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QuickSlot.refresh();
|
||||||
|
|
||||||
|
spend( TICK );
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class timeStasis extends ArtifactBuff {
|
||||||
|
//todo: add logic here
|
||||||
|
}
|
||||||
|
|
||||||
|
public class timeFreeze extends ArtifactBuff {
|
||||||
|
//todo: add logic here
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class sandBag extends Item {
|
||||||
|
|
||||||
|
{
|
||||||
|
name = "bag of magic sand";
|
||||||
|
image = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean doPickUp( Hero hero ) {
|
||||||
|
TimekeepersHourglass hourglass = hero.belongings.getItem( TimekeepersHourglass.class );
|
||||||
|
if (hourglass != null) {
|
||||||
|
hourglass.upgrade();
|
||||||
|
Sample.INSTANCE.play( Assets.SND_ITEM );
|
||||||
|
if (hourglass.level == hourglass.levelCap)
|
||||||
|
GLog.p("Your hourglass is filled with magical sand!");
|
||||||
|
else
|
||||||
|
GLog.i("you add the sand to your hourglass.");
|
||||||
|
hero.spendAndNext(TIME_TO_PICK_UP);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
GLog.w("You have no hourglass to place this sand into.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String desc(){
|
||||||
|
return "This small bag of finely ground sand should work perfectly with your hourglass.\n\n" +
|
||||||
|
"It seems odd that the shopkeeper would have this specific item right when you need it.";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int price() {
|
||||||
|
return 20;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -17,8 +17,6 @@
|
||||||
*/
|
*/
|
||||||
package com.shatteredpixel.shatteredpixeldungeon.levels.painters;
|
package com.shatteredpixel.shatteredpixeldungeon.levels.painters;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.ImpShopkeeper;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.ImpShopkeeper;
|
||||||
|
@ -29,7 +27,11 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Torch;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Torch;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Weightstone;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Weightstone;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.armor.*;
|
import com.shatteredpixel.shatteredpixeldungeon.items.armor.LeatherArmor;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.armor.MailArmor;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.armor.PlateArmor;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.armor.ScaleArmor;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.TimekeepersHourglass;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.bags.ScrollHolder;
|
import com.shatteredpixel.shatteredpixeldungeon.items.bags.ScrollHolder;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.bags.SeedPouch;
|
import com.shatteredpixel.shatteredpixeldungeon.items.bags.SeedPouch;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.bags.WandHolster;
|
import com.shatteredpixel.shatteredpixeldungeon.items.bags.WandHolster;
|
||||||
|
@ -38,7 +40,14 @@ import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfHealing;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfIdentify;
|
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfIdentify;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfMagicMapping;
|
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfMagicMapping;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRemoveCurse;
|
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRemoveCurse;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.*;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.BattleAxe;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Glaive;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Longsword;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Mace;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Quarterstaff;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Spear;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Sword;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.WarHammer;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.LastShopLevel;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.LastShopLevel;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Room;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Room;
|
||||||
|
@ -46,6 +55,8 @@ import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||||
import com.watabou.utils.Point;
|
import com.watabou.utils.Point;
|
||||||
import com.watabou.utils.Random;
|
import com.watabou.utils.Random;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class ShopPainter extends Painter {
|
public class ShopPainter extends Painter {
|
||||||
|
|
||||||
private static int pasWidth;
|
private static int pasWidth;
|
||||||
|
@ -144,6 +155,28 @@ public class ShopPainter extends Painter {
|
||||||
items.add( new OverpricedRation() );
|
items.add( new OverpricedRation() );
|
||||||
|
|
||||||
items.add( new Ankh() );
|
items.add( new Ankh() );
|
||||||
|
|
||||||
|
TimekeepersHourglass hourglass = Dungeon.hero.belongings.getItem(TimekeepersHourglass.class);
|
||||||
|
|
||||||
|
if (hourglass != null){
|
||||||
|
int bags = 0;
|
||||||
|
switch (Dungeon.depth) {
|
||||||
|
case 21:
|
||||||
|
bags = (int)Math.ceil(( 5-hourglass.sandBags) * 0.80f ); break;
|
||||||
|
case 16:
|
||||||
|
bags = (int)Math.ceil(( 5-hourglass.sandBags) * 0.50f ); break;
|
||||||
|
case 11:
|
||||||
|
bags = (int)Math.ceil(( 5-hourglass.sandBags) * 0.25f ); break;
|
||||||
|
case 6:
|
||||||
|
bags = (int)Math.ceil(( 5-hourglass.sandBags) * 0.20f ); break;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
for(int i = 1; i <= bags; i++){
|
||||||
|
items.add( new TimekeepersHourglass.sandBag());
|
||||||
|
hourglass.sandBags ++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Item[] range =items.toArray( new Item[0] );
|
Item[] range =items.toArray( new Item[0] );
|
||||||
Random.shuffle( range );
|
Random.shuffle( range );
|
||||||
|
|
Loading…
Reference in New Issue
Block a user