v0.3.4: externalized misc item strings
This commit is contained in:
committed by
Evan Debenham
parent
106ec11708
commit
95ab06888c
@@ -96,11 +96,5 @@ public class Amulet extends Item {
|
||||
public boolean isUpgradable() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String info() {
|
||||
return
|
||||
"The Amulet of Yendor is the most powerful known artifact of unknown origin. It is said that the amulet " +
|
||||
"is able to fulfil any wish if its owner's will-power is strong enough to \"persuade\" it to do it.";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -24,6 +24,8 @@ import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite.Glowing;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||
@@ -36,16 +38,6 @@ public class Ankh extends Item {
|
||||
|
||||
public static final String AC_BLESS = "BLESS";
|
||||
|
||||
public static final String TXT_DESC_NOBLESS = "Upon resurrection all non-equipped items are lost. " +
|
||||
"Using a full dew vial, the ankh can be blessed with extra strength.";
|
||||
public static final String TXT_DESC_BLESSED = "The ankh has been blessed and is now much stronger. " +
|
||||
"The Ankh will sacrifice itself to save you in a moment of deadly peril.";
|
||||
|
||||
public static final String TXT_BLESS = "You bless the ankh with clean water.";
|
||||
public static final String TXT_REVIVE = "The ankh explodes with life-giving energy!";
|
||||
|
||||
|
||||
|
||||
{
|
||||
image = ItemSpriteSheet.ANKH;
|
||||
|
||||
@@ -83,7 +75,7 @@ public class Ankh extends Item {
|
||||
if (vial != null){
|
||||
blessed = true;
|
||||
vial.empty();
|
||||
GLog.p( TXT_BLESS );
|
||||
GLog.p( Messages.get(this, "bless") );
|
||||
hero.spend( 1f );
|
||||
hero.busy();
|
||||
|
||||
@@ -101,15 +93,11 @@ public class Ankh extends Item {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String info() {
|
||||
public String desc() {
|
||||
if (blessed)
|
||||
return
|
||||
"This ancient symbol of immortality grants the ability to return to life after death. " +
|
||||
TXT_DESC_BLESSED;
|
||||
return Messages.get(this, "desc_blessed");
|
||||
else
|
||||
return
|
||||
"This ancient symbol of immortality grants the ability to return to life after death. " +
|
||||
TXT_DESC_NOBLESS;
|
||||
return super.desc();
|
||||
}
|
||||
|
||||
public Boolean isBlessed(){
|
||||
|
||||
@@ -22,6 +22,8 @@ package com.shatteredpixel.shatteredpixeldungeon.items;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.watabou.noosa.audio.Sample;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||
@@ -35,8 +37,7 @@ import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndBag;
|
||||
|
||||
public class ArmorKit extends Item {
|
||||
|
||||
private static final String TXT_SELECT_ARMOR = "Select an armor to upgrade";
|
||||
|
||||
private static final String TXT_UPGRADED = "you applied the armor kit to upgrade your %s";
|
||||
|
||||
private static final float TIME_TO_UPGRADE = 2;
|
||||
@@ -61,7 +62,7 @@ public class ArmorKit extends Item {
|
||||
if (action == AC_APPLY) {
|
||||
|
||||
curUser = hero;
|
||||
GameScene.selectItem( itemSelector, WndBag.Mode.ARMOR, TXT_SELECT_ARMOR );
|
||||
GameScene.selectItem( itemSelector, WndBag.Mode.ARMOR, Messages.get(this, "prompt") );
|
||||
|
||||
} else {
|
||||
|
||||
@@ -88,7 +89,7 @@ public class ArmorKit extends Item {
|
||||
curUser.spend( TIME_TO_UPGRADE );
|
||||
curUser.busy();
|
||||
|
||||
GLog.w( TXT_UPGRADED, armor.name() );
|
||||
GLog.w( Messages.get(this, "upgraded", armor.name()) );
|
||||
|
||||
ClassArmor classArmor = ClassArmor.upgrade( curUser, armor );
|
||||
if (curUser.belongings.armor == armor) {
|
||||
@@ -107,14 +108,6 @@ public class ArmorKit extends Item {
|
||||
Sample.INSTANCE.play( Assets.SND_EVOKE );
|
||||
}
|
||||
|
||||
@Override
|
||||
public String info() {
|
||||
return
|
||||
"Using this kit of small tools and materials anybody can transform any armor into an \"epic armor\", " +
|
||||
"which will keep all properties of the original armor, but will also provide its wearer a special ability " +
|
||||
"depending on his class. No skills in tailoring, leatherworking or blacksmithing are required.";
|
||||
}
|
||||
|
||||
private final WndBag.Listener itemSelector = new WndBag.Listener() {
|
||||
@Override
|
||||
public void onSelect( Item item ) {
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
package com.shatteredpixel.shatteredpixeldungeon.items;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||
@@ -100,7 +102,7 @@ public class Bomb extends Item {
|
||||
@Override
|
||||
public boolean doPickUp(Hero hero) {
|
||||
if (fuse != null) {
|
||||
GLog.w("You quickly snuff the bomb's fuse.");
|
||||
GLog.w( Messages.get(this, "snuff_fuse") );
|
||||
fuse = null;
|
||||
}
|
||||
return super.doPickUp(hero);
|
||||
@@ -147,7 +149,7 @@ public class Bomb extends Item {
|
||||
}
|
||||
|
||||
if (ch == Dungeon.hero && !ch.isAlive())
|
||||
Dungeon.fail("Killed by an explosion");
|
||||
Dungeon.fail( Messages.get(this, "ondeath") );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -189,11 +191,11 @@ public class Bomb extends Item {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String info() {
|
||||
return
|
||||
"A fairly hefty black powder bomb. An explosion from this would certainly do damage to anything nearby." +
|
||||
(fuse != null ? "\n\nThe bomb's fuse is burning away, keep your distance or put it out!" :
|
||||
"\n\nIt looks like the fuse will take a couple rounds to burn down once it is lit.");
|
||||
public String desc() {
|
||||
if (fuse == null)
|
||||
return super.desc();
|
||||
else
|
||||
return Messages.get(this, "desc_burning");
|
||||
}
|
||||
|
||||
private static final String FUSE = "fuse";
|
||||
@@ -261,19 +263,14 @@ public class Bomb extends Item {
|
||||
stackable = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String info() {
|
||||
return
|
||||
"A stack of two hefty black powder bombs, looks like you get one free!";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean doPickUp(Hero hero) {
|
||||
Bomb bomb = new Bomb();
|
||||
bomb.quantity(2);
|
||||
if (bomb.doPickUp(hero)) {
|
||||
//isaaaaac....
|
||||
hero.sprite.showStatus(CharSprite.NEUTRAL, "1+1 free!");
|
||||
//isaaaaac.... (don't bother doing this when not in english)
|
||||
if (Messages.get(this, "name").equals("two bombs"))
|
||||
hero.sprite.showStatus(CharSprite.NEUTRAL, "1+1 free!");
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -24,6 +24,7 @@ import java.util.ArrayList;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroClass;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.watabou.noosa.audio.Sample;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||
@@ -42,14 +43,8 @@ public class DewVial extends Item {
|
||||
|
||||
private static final float TIME_TO_DRINK = 1f;
|
||||
|
||||
private static final String TXT_VALUE = "%+dHP";
|
||||
private static final String TXT_STATUS = "%d/%d";
|
||||
|
||||
private static final String TXT_AUTO_DRINK = "The dew vial was emptied to heal your wounds.";
|
||||
private static final String TXT_COLLECTED = "You collected a dewdrop into your dew vial.";
|
||||
private static final String TXT_FULL = "Your dew vial is full!";
|
||||
private static final String TXT_EMPTY = "Your dew vial is empty!";
|
||||
|
||||
{
|
||||
image = ItemSpriteSheet.VIAL;
|
||||
|
||||
@@ -99,7 +94,7 @@ public class DewVial extends Item {
|
||||
if (effect > 0) {
|
||||
hero.HP += effect;
|
||||
hero.sprite.emitter().burst( Speck.factory( Speck.HEALING ), volume > 5 ? 2 : 1 );
|
||||
hero.sprite.showStatus( CharSprite.POSITIVE, TXT_VALUE, effect );
|
||||
hero.sprite.showStatus( CharSprite.POSITIVE, Messages.get(this, "value", effect) );
|
||||
}
|
||||
|
||||
volume = 0;
|
||||
@@ -114,7 +109,7 @@ public class DewVial extends Item {
|
||||
|
||||
|
||||
} else {
|
||||
GLog.w( TXT_EMPTY );
|
||||
GLog.w( Messages.get(this, "empty") );
|
||||
}
|
||||
|
||||
} else {
|
||||
@@ -142,11 +137,11 @@ public class DewVial extends Item {
|
||||
|
||||
public void collectDew( Dewdrop dew ) {
|
||||
|
||||
GLog.i( TXT_COLLECTED );
|
||||
GLog.i( Messages.get(this, "collected") );
|
||||
volume += dew.quantity;
|
||||
if (volume >= MAX_VOLUME) {
|
||||
volume = MAX_VOLUME;
|
||||
GLog.p( TXT_FULL );
|
||||
GLog.p( Messages.get(this, "full") );
|
||||
}
|
||||
|
||||
updateQuickslot();
|
||||
@@ -157,30 +152,10 @@ public class DewVial extends Item {
|
||||
updateQuickslot();
|
||||
}
|
||||
|
||||
//removed as people need a bigger distinction to realize the dew vial doesn't revive.
|
||||
/*
|
||||
private static final Glowing WHITE = new Glowing( 0xFFFFCC );
|
||||
|
||||
@Override
|
||||
public Glowing glowing() {
|
||||
return isFull() ? WHITE : null;
|
||||
}*/
|
||||
|
||||
@Override
|
||||
public String status() {
|
||||
return Utils.format( TXT_STATUS, volume, MAX_VOLUME );
|
||||
}
|
||||
|
||||
@Override
|
||||
public String info() {
|
||||
return
|
||||
"You can store excess dew in this tiny vessel for drinking it later. " +
|
||||
"The more full the vial is, the more each dew drop will heal you. " +
|
||||
"A full vial is as strong as a potion of healing." +
|
||||
"\n\nVials like this one used to be imbued with revival magic, " +
|
||||
"but that power has faded. There still seems to be some residual power " +
|
||||
"left, perhaps a full vial can bless another revival item.";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
package com.shatteredpixel.shatteredpixeldungeon.items;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroSubClass;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||
import com.watabou.noosa.audio.Sample;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
@@ -32,8 +33,6 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
||||
|
||||
public class Dewdrop extends Item {
|
||||
|
||||
private static final String TXT_VALUE = "%+dHP";
|
||||
|
||||
{
|
||||
image = ItemSpriteSheet.DEWDROP;
|
||||
@@ -57,9 +56,9 @@ public class Dewdrop extends Item {
|
||||
if (effect > 0) {
|
||||
hero.HP += effect;
|
||||
hero.sprite.emitter().burst( Speck.factory( Speck.HEALING ), 1 );
|
||||
hero.sprite.showStatus( CharSprite.POSITIVE, TXT_VALUE, effect );
|
||||
hero.sprite.showStatus( CharSprite.POSITIVE, Messages.get(this, "value", effect) );
|
||||
} else {
|
||||
GLog.i("You already have full health.");
|
||||
GLog.i( Messages.get(this, "already_full") );
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -82,8 +81,4 @@ public class Dewdrop extends Item {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String info() {
|
||||
return "A crystal clear dewdrop.\n\nDue to the magic of this place, pure water has minor restorative properties.";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
package com.shatteredpixel.shatteredpixeldungeon.items;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||
import com.watabou.noosa.audio.Sample;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
@@ -29,8 +30,6 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.particles.ShadowParticle
|
||||
|
||||
public abstract class EquipableItem extends Item {
|
||||
|
||||
private static final String TXT_UNEQUIP_CURSED = "You can't remove cursed %s!";
|
||||
|
||||
public static final String AC_EQUIP = "EQUIP";
|
||||
public static final String AC_UNEQUIP = "UNEQUIP";
|
||||
|
||||
@@ -89,7 +88,7 @@ public abstract class EquipableItem extends Item {
|
||||
public boolean doUnequip( Hero hero, boolean collect, boolean single ) {
|
||||
|
||||
if (cursed) {
|
||||
GLog.w(TXT_UNEQUIP_CURSED, name());
|
||||
GLog.w(Messages.get(EquipableItem.class, "unequip_cursed"));
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -38,9 +38,6 @@ import com.watabou.utils.Random;
|
||||
|
||||
public class Gold extends Item {
|
||||
|
||||
private static final String TXT_COLLECT = "Collect gold coins to spend them later in a shop.";
|
||||
private static final String TXT_INFO = "A pile of %d gold coins. " + TXT_COLLECT;
|
||||
private static final String TXT_INFO_1 = "One gold coin. " + TXT_COLLECT;
|
||||
private static final String TXT_VALUE = "%+d";
|
||||
|
||||
{
|
||||
@@ -91,18 +88,6 @@ public class Gold extends Item {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String info() {
|
||||
switch (quantity) {
|
||||
case 0:
|
||||
return TXT_COLLECT;
|
||||
case 1:
|
||||
return TXT_INFO_1;
|
||||
default:
|
||||
return Utils.format( TXT_INFO, quantity );
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item random() {
|
||||
quantity = Random.Int( 30 + Dungeon.depth * 10, 60 + Dungeon.depth * 20 );
|
||||
|
||||
@@ -62,8 +62,6 @@ import java.util.LinkedList;
|
||||
|
||||
public class Heap implements Bundlable {
|
||||
|
||||
private static final String TXT_MIMIC = "This is a mimic!";
|
||||
|
||||
private static final int SEEDS_TO_POTION = 3;
|
||||
|
||||
public enum Type {
|
||||
@@ -117,7 +115,6 @@ public class Heap implements Bundlable {
|
||||
switch (type) {
|
||||
case MIMIC:
|
||||
if (Mimic.spawnAt(pos, items) != null) {
|
||||
GLog.n(TXT_MIMIC);
|
||||
destroy();
|
||||
} else {
|
||||
type = Type.CHEST;
|
||||
|
||||
@@ -140,16 +140,6 @@ public class Honeypot extends Item {
|
||||
public int price() {
|
||||
return 30 * quantity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String info() {
|
||||
return
|
||||
"This large honeypot is only really lined with honey, instead it houses a giant bee! " +
|
||||
"These sorts of massive bees usually stay in their hives, perhaps the pot is some sort of specialized trapper's cage? " +
|
||||
"The bee seems pretty content inside the pot with its honey, and buzzes at you warily when you look at it.";
|
||||
}
|
||||
|
||||
|
||||
|
||||
//The bee's broken 'home', all this item does is let its bee know where it is, and who owns it (if anyone).
|
||||
public static class ShatteredPot extends Item {
|
||||
@@ -217,19 +207,6 @@ public class Honeypot extends Item {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String info() {
|
||||
String info =
|
||||
"The pot has been shattered, only the sticky honey that lines its walls is holding it together, and it is slowly coming apart.";
|
||||
|
||||
if (Actor.findById( myBee ) != null)
|
||||
info += "\n\nDespite its broken state, the bee still seems quite fond of the pot, and is understandably quite mad.";
|
||||
else
|
||||
info += "\n\nNow that its bee is gone, you can't think of a use for this wad of broken clay and drying honey.";
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
private static final String MYBEE = "mybee";
|
||||
private static final String BEEDEPTH = "beedepth";
|
||||
|
||||
|
||||
@@ -25,12 +25,11 @@ import java.util.ArrayList;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||
import com.watabou.utils.Random;
|
||||
|
||||
abstract public class KindOfWeapon extends EquipableItem {
|
||||
|
||||
private static final String TXT_EQUIP_CURSED = "you wince as your grip involuntarily tightens around your %s";
|
||||
|
||||
protected static final float TIME_TO_EQUIP = 1f;
|
||||
|
||||
@@ -61,7 +60,7 @@ abstract public class KindOfWeapon extends EquipableItem {
|
||||
cursedKnown = true;
|
||||
if (cursed) {
|
||||
equipCursed( hero );
|
||||
GLog.n( TXT_EQUIP_CURSED, name() );
|
||||
GLog.n( Messages.get(KindOfWeapon.class, "cursed", name()) );
|
||||
}
|
||||
|
||||
hero.spendAndNext( TIME_TO_EQUIP );
|
||||
|
||||
@@ -75,11 +75,4 @@ public class MerchantsBeacon extends Item {
|
||||
return 5 * quantity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String info() {
|
||||
return "This odd piece of dwarven 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\nHowever, the magic within the beacon will only last for one session, so use it wisely.";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -25,6 +25,8 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.Enchanting;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.PurpleParticle;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||
@@ -35,9 +37,6 @@ import java.util.ArrayList;
|
||||
|
||||
public class Stylus extends Item {
|
||||
|
||||
private static final String TXT_SELECT_ARMOR = "Select an armor to inscribe";
|
||||
private static final String TXT_INSCRIBED = "you inscribed your %s with the stylus";
|
||||
|
||||
private static final float TIME_TO_INSCRIBE = 2;
|
||||
|
||||
private static final String AC_INSCRIBE = "INSCRIBE";
|
||||
@@ -59,10 +58,10 @@ public class Stylus extends Item {
|
||||
|
||||
@Override
|
||||
public void execute( Hero hero, String action ) {
|
||||
if (action == AC_INSCRIBE) {
|
||||
if (action.equals(AC_INSCRIBE)) {
|
||||
|
||||
curUser = hero;
|
||||
GameScene.selectItem( itemSelector, WndBag.Mode.ARMOR, TXT_SELECT_ARMOR );
|
||||
GameScene.selectItem( itemSelector, WndBag.Mode.ARMOR, Messages.get(this, "prompt") );
|
||||
|
||||
} else {
|
||||
|
||||
@@ -85,8 +84,8 @@ public class Stylus extends Item {
|
||||
|
||||
detach(curUser.belongings.backpack);
|
||||
|
||||
GLog.w(TXT_INSCRIBED, armor.name());
|
||||
|
||||
GLog.w( Messages.get(this, "inscribed"));
|
||||
|
||||
armor.inscribe();
|
||||
|
||||
curUser.sprite.operate(curUser.pos);
|
||||
@@ -102,15 +101,7 @@ public class Stylus extends Item {
|
||||
public int price() {
|
||||
return 30 * quantity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String info() {
|
||||
return
|
||||
"This arcane stylus is made of some dark, very hard stone. Using it you can inscribe " +
|
||||
"a magical glyph on your armor, but you have no power over choosing what glyph it will be, " +
|
||||
"the stylus will decide it for you.";
|
||||
}
|
||||
|
||||
|
||||
private final WndBag.Listener itemSelector = new WndBag.Listener() {
|
||||
@Override
|
||||
public void onSelect( Item item ) {
|
||||
|
||||
@@ -22,6 +22,7 @@ package com.shatteredpixel.shatteredpixeldungeon.items;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.watabou.noosa.audio.Sample;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Badges;
|
||||
@@ -39,8 +40,6 @@ import com.shatteredpixel.shatteredpixeldungeon.utils.Utils;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndChooseWay;
|
||||
|
||||
public class TomeOfMastery extends Item {
|
||||
|
||||
private static final String TXT_BLINDED = "You can't read while blinded";
|
||||
|
||||
public static final float TIME_TO_READ = 10;
|
||||
|
||||
@@ -64,11 +63,6 @@ public class TomeOfMastery extends Item {
|
||||
public void execute( Hero hero, String action ) {
|
||||
if (action.equals( AC_READ )) {
|
||||
|
||||
if (hero.buff( Blindness.class ) != null) {
|
||||
GLog.w( TXT_BLINDED );
|
||||
return;
|
||||
}
|
||||
|
||||
curUser = hero;
|
||||
|
||||
HeroSubClass way1 = null;
|
||||
@@ -116,14 +110,6 @@ public class TomeOfMastery extends Item {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String info() {
|
||||
return
|
||||
"This worn leather book is not that thick, but you feel somehow, " +
|
||||
"that you can gather a lot from it. Remember though that reading " +
|
||||
"this tome may require some time.";
|
||||
}
|
||||
|
||||
public void choose( HeroSubClass way ) {
|
||||
|
||||
detach( curUser.belongings.backpack );
|
||||
@@ -138,7 +124,7 @@ public class TomeOfMastery extends Item {
|
||||
|
||||
SpellSprite.show( curUser, SpellSprite.MASTERY );
|
||||
curUser.sprite.emitter().burst( Speck.factory( Speck.MASTERY ), 12 );
|
||||
GLog.w( "You have chosen the way of the %s!", Utils.capitalize( way.title() ) );
|
||||
GLog.w( Messages.get(this, "way", way.title()) );
|
||||
|
||||
if (way == HeroSubClass.BERSERKER && curUser.HP <= curUser.HT * Fury.LEVEL) {
|
||||
Buff.affect( curUser, Fury.class );
|
||||
|
||||
@@ -87,10 +87,5 @@ public class Torch extends Item {
|
||||
public int price() {
|
||||
return 10 * quantity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String info() {
|
||||
return
|
||||
"An adventuring staple, when a dungeon goes dark, a torch can help lead the way.";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ package com.shatteredpixel.shatteredpixeldungeon.items;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
||||
@@ -39,10 +40,6 @@ import java.util.ArrayList;
|
||||
|
||||
public class Weightstone extends Item {
|
||||
|
||||
private static final String TXT_SELECT_WEAPON = "Select a weapon to balance";
|
||||
private static final String TXT_LIGHT = "you balanced your %s to make it lighter";
|
||||
private static final String TXT_HEAVY = "you balanced your %s to make it heavier";
|
||||
|
||||
private static final float TIME_TO_APPLY = 2;
|
||||
|
||||
private static final String AC_APPLY = "APPLY";
|
||||
@@ -67,7 +64,7 @@ public class Weightstone extends Item {
|
||||
if (action == AC_APPLY) {
|
||||
|
||||
curUser = hero;
|
||||
GameScene.selectItem( itemSelector, WndBag.Mode.WEAPON, TXT_SELECT_WEAPON );
|
||||
GameScene.selectItem( itemSelector, WndBag.Mode.WEAPON, Messages.get(this, "select") );
|
||||
|
||||
} else {
|
||||
|
||||
@@ -92,10 +89,10 @@ public class Weightstone extends Item {
|
||||
|
||||
if (forSpeed) {
|
||||
weapon.imbue = Weapon.Imbue.LIGHT;
|
||||
GLog.p( TXT_LIGHT, weapon.name() );
|
||||
GLog.p( Messages.get(this, "light") );
|
||||
} else {
|
||||
weapon.imbue = Weapon.Imbue.HEAVY;
|
||||
GLog.p( TXT_HEAVY, weapon.name() );
|
||||
GLog.p( Messages.get(this, "heavy") );
|
||||
}
|
||||
|
||||
curUser.sprite.operate( curUser.pos );
|
||||
@@ -110,13 +107,6 @@ public class Weightstone extends Item {
|
||||
return 40 * quantity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String info() {
|
||||
return
|
||||
"Using a weightstone, you can balance your melee weapon to make it lighter or heavier, " +
|
||||
"increasing either speed or damage at the expense of the other.";
|
||||
}
|
||||
|
||||
private final WndBag.Listener itemSelector = new WndBag.Listener() {
|
||||
@Override
|
||||
public void onSelect( Item item ) {
|
||||
@@ -128,12 +118,6 @@ public class Weightstone extends Item {
|
||||
|
||||
public class WndBalance extends Window {
|
||||
|
||||
private static final String TXT_CHOICE = "How would you like to balance your %s?";
|
||||
|
||||
private static final String TXT_LIGHT = "Lighter";
|
||||
private static final String TXT_HEAVY = "Heavier";
|
||||
private static final String TXT_CANCEL = "Never mind";
|
||||
|
||||
private static final int WIDTH = 120;
|
||||
private static final int MARGIN = 2;
|
||||
private static final int BUTTON_WIDTH = WIDTH - MARGIN * 2;
|
||||
@@ -146,7 +130,7 @@ public class Weightstone extends Item {
|
||||
titlebar.setRect( 0, 0, WIDTH, 0 );
|
||||
add( titlebar );
|
||||
|
||||
BitmapTextMultiline tfMesage = PixelScene.createMultiline( Utils.format( TXT_CHOICE, weapon.name() ), 8 );
|
||||
BitmapTextMultiline tfMesage = PixelScene.createMultiline( Messages.get(this, "choice"), 8 );
|
||||
tfMesage.maxWidth = WIDTH - MARGIN * 2;
|
||||
tfMesage.measure();
|
||||
tfMesage.x = MARGIN;
|
||||
@@ -156,7 +140,7 @@ public class Weightstone extends Item {
|
||||
float pos = tfMesage.y + tfMesage.height();
|
||||
|
||||
if (weapon.imbue != Weapon.Imbue.LIGHT) {
|
||||
RedButton btnSpeed = new RedButton( TXT_LIGHT ) {
|
||||
RedButton btnSpeed = new RedButton( Messages.get(this, "light") ) {
|
||||
@Override
|
||||
protected void onClick() {
|
||||
hide();
|
||||
@@ -170,7 +154,7 @@ public class Weightstone extends Item {
|
||||
}
|
||||
|
||||
if (weapon.imbue != Weapon.Imbue.HEAVY) {
|
||||
RedButton btnAccuracy = new RedButton( TXT_HEAVY ) {
|
||||
RedButton btnAccuracy = new RedButton( Messages.get(this, "heavy") ) {
|
||||
@Override
|
||||
protected void onClick() {
|
||||
hide();
|
||||
@@ -183,7 +167,7 @@ public class Weightstone extends Item {
|
||||
pos = btnAccuracy.bottom();
|
||||
}
|
||||
|
||||
RedButton btnCancel = new RedButton( TXT_CANCEL ) {
|
||||
RedButton btnCancel = new RedButton( Messages.get(this, "cancel") ) {
|
||||
@Override
|
||||
protected void onClick() {
|
||||
hide();
|
||||
|
||||
Reference in New Issue
Block a user