v0.3.4: externalized food strings

This commit is contained in:
Evan Debenham 2016-01-01 22:07:20 -05:00 committed by Evan Debenham
parent c1aca208b4
commit 861fa34420
9 changed files with 102 additions and 231 deletions

View File

@ -379,7 +379,7 @@ public class Item implements Bundlable {
} }
public String desc() { public String desc() {
return ""; return Messages.get(this, "desc");
} }
public int quantity() { public int quantity() {

View File

@ -20,50 +20,33 @@
*/ */
package com.shatteredpixel.shatteredpixeldungeon.items.food; package com.shatteredpixel.shatteredpixeldungeon.items.food;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.Statistics;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Barkskin;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Bleeding;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.EarthImbue; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.EarthImbue;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.FireImbue; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.FireImbue;
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.Poison;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Recharging;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.ToxicImbue; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.ToxicImbue;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Weakness;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.effects.SpellSprite;
import com.shatteredpixel.shatteredpixeldungeon.items.Item; import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.*; import com.shatteredpixel.shatteredpixeldungeon.items.potions.*;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRecharging; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.plants.*;
import com.shatteredpixel.shatteredpixeldungeon.plants.Plant.Seed; import com.shatteredpixel.shatteredpixeldungeon.plants.Plant.Seed;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.noosa.audio.Sample;
import com.watabou.utils.Bundle; import com.watabou.utils.Bundle;
import com.watabou.utils.Random;
public class Blandfruit extends Food { public class Blandfruit extends Food {
public String message = "You eat the Blandfruit, bleugh!";
public String info = "So dry and insubstantial, perhaps stewing it with another ingredient would improve it.";
public Potion potionAttrib = null; public Potion potionAttrib = null;
public ItemSprite.Glowing potionGlow = null; public ItemSprite.Glowing potionGlow = null;
{ {
name = "Blandfruit";
stackable = true; stackable = true;
image = ItemSpriteSheet.BLANDFRUIT; image = ItemSpriteSheet.BLANDFRUIT;
energy = (Hunger.STARVING - Hunger.HUNGRY)/2;
hornValue = 6; //only applies when blandfruit is cooked //only applies when blandfruit is cooked
energy = Hunger.STARVING;
hornValue = 6;
bones = true; bones = true;
} }
@ -85,90 +68,28 @@ public class Blandfruit extends Food {
@Override @Override
public void execute( Hero hero, String action ) { public void execute( Hero hero, String action ) {
if (action.equals( AC_EAT )){ if (action.equals( AC_EAT )){
if (potionAttrib == null) { if (potionAttrib == null) {
detach(hero.belongings.backpack); GLog.w( Messages.get(this, "raw"));
((Hunger) hero.buff(Hunger.class)).satisfy(energy);
GLog.i(message);
hero.sprite.operate(hero.pos);
hero.busy();
SpellSprite.show(hero, SpellSprite.FOOD);
Sample.INSTANCE.play(Assets.SND_EAT);
hero.spend(1f);
Statistics.foodEaten++;
Badges.validateFoodEaten();
} else { } else {
((Hunger) hero.buff(Hunger.class)).satisfy(Hunger.HUNGRY); super.execute(hero, action);
detach(hero.belongings.backpack);
hero.spend(1f);
hero.busy();
if (potionAttrib instanceof PotionOfFrost) { if (potionAttrib instanceof PotionOfFrost) {
GLog.i("the Icefruit tastes a bit like Frozen Carpaccio."); GLog.i(Messages.get(this, "ice_msg"));
switch (Random.Int(5)) { FrozenCarpaccio.effect(hero);
case 0:
GLog.i("You see your hands turn invisible!");
Buff.affect(hero, Invisibility.class, Invisibility.DURATION);
break;
case 1:
GLog.i("You feel your skin harden!");
Buff.affect(hero, Barkskin.class).level(hero.HT / 4);
break;
case 2:
GLog.i("Refreshing!");
Buff.detach(hero, Poison.class);
Buff.detach(hero, Cripple.class);
Buff.detach(hero, Weakness.class);
Buff.detach(hero, Bleeding.class);
break;
case 3:
GLog.i("You feel better!");
if (hero.HP < hero.HT) {
hero.HP = Math.min(hero.HP + hero.HT / 4, hero.HT);
hero.sprite.emitter().burst(Speck.factory(Speck.HEALING), 1);
}
break;
}
} else if (potionAttrib instanceof PotionOfLiquidFlame){ } else if (potionAttrib instanceof PotionOfLiquidFlame){
GLog.i("You feel a great fire burning within you!"); GLog.i(Messages.get(this, "fire_msg"));
Buff.affect(hero, FireImbue.class).set(FireImbue.DURATION); Buff.affect(hero, FireImbue.class).set(FireImbue.DURATION);
} else if (potionAttrib instanceof PotionOfToxicGas) { } else if (potionAttrib instanceof PotionOfToxicGas) {
GLog.i("You are imbued with vile toxic power!"); GLog.i(Messages.get(this, "toxic_msg"));
Buff.affect(hero, ToxicImbue.class).set(ToxicImbue.DURATION); Buff.affect(hero, ToxicImbue.class).set(ToxicImbue.DURATION);
} else if (potionAttrib instanceof PotionOfParalyticGas) { } else if (potionAttrib instanceof PotionOfParalyticGas) {
GLog.i("You feel the power of the earth coursing through you!"); GLog.i(Messages.get(this, "para_msg"));
Buff.affect(hero, EarthImbue.class, EarthImbue.DURATION); Buff.affect(hero, EarthImbue.class, EarthImbue.DURATION);
} else } else
potionAttrib.apply(hero); potionAttrib.apply(hero);
Sample.INSTANCE.play( Assets.SND_EAT );
SpellSprite.show(hero, SpellSprite.FOOD);
hero.sprite.operate(hero.pos);
switch (hero.heroClass) {
case WARRIOR:
if (hero.HP < hero.HT) {
hero.HP = Math.min( hero.HP + 5, hero.HT );
hero.sprite.emitter().burst( Speck.factory(Speck.HEALING), 1 );
}
break;
case MAGE:
//1 charge
Buff.affect(hero, Recharging.class, 4f);
ScrollOfRecharging.charge(hero);
break;
case ROGUE:
case HUNTRESS:
break;
}
} }
} else { } else {
super.execute(hero, action); super.execute(hero, action);
@ -176,8 +97,9 @@ public class Blandfruit extends Food {
} }
@Override @Override
public String info() { public String desc() {
return info; if (potionAttrib== null) return super.desc();
else return Messages.get(this, "desc_cooked");
} }
@Override @Override
@ -202,76 +124,39 @@ public class Blandfruit extends Food {
potionAttrib.image = ItemSpriteSheet.BLANDFRUIT; potionAttrib.image = ItemSpriteSheet.BLANDFRUIT;
info = "The fruit has plumped up from its time soaking in the pot and has even absorbed the properties "+
"of the seed it was cooked with.\n\n";
if (potionAttrib instanceof PotionOfHealing){ if (potionAttrib instanceof PotionOfHealing){
name = Messages.get(this, "sunfruit");
name = "Sunfruit";
potionGlow = new ItemSprite.Glowing( 0x2EE62E ); potionGlow = new ItemSprite.Glowing( 0x2EE62E );
info += "It looks delicious and hearty, ready to be eaten!";
} else if (potionAttrib instanceof PotionOfStrength){ } else if (potionAttrib instanceof PotionOfStrength){
name = Messages.get(this, "rotfruit");
name = "Rotfruit";
potionGlow = new ItemSprite.Glowing( 0xCC0022 ); potionGlow = new ItemSprite.Glowing( 0xCC0022 );
info += "It looks delicious and powerful, ready to be eaten!";
} else if (potionAttrib instanceof PotionOfParalyticGas){ } else if (potionAttrib instanceof PotionOfParalyticGas){
name = Messages.get(this, "earthfruit");
name = "Earthfruit";
potionGlow = new ItemSprite.Glowing( 0x67583D ); potionGlow = new ItemSprite.Glowing( 0x67583D );
info += "It looks delicious and firm, ready to be eaten!";
} else if (potionAttrib instanceof PotionOfInvisibility){ } else if (potionAttrib instanceof PotionOfInvisibility){
name = Messages.get(this, "blindfruit");
name = "Blindfruit";
potionGlow = new ItemSprite.Glowing( 0xE5D273 ); potionGlow = new ItemSprite.Glowing( 0xE5D273 );
info += "It looks delicious and shiny, ready to be eaten!";
} else if (potionAttrib instanceof PotionOfLiquidFlame){ } else if (potionAttrib instanceof PotionOfLiquidFlame){
name = Messages.get(this, "firefruit");
name = "Firefruit";
potionGlow = new ItemSprite.Glowing( 0xFF7F00 ); potionGlow = new ItemSprite.Glowing( 0xFF7F00 );
info += "It looks delicious and spicy, ready to be eaten!";
} else if (potionAttrib instanceof PotionOfFrost){ } else if (potionAttrib instanceof PotionOfFrost){
name = Messages.get(this, "icefruit");
name = "Icefruit";
potionGlow = new ItemSprite.Glowing( 0x66B3FF ); potionGlow = new ItemSprite.Glowing( 0x66B3FF );
info += "It looks delicious and refreshing, ready to be eaten!";
} else if (potionAttrib instanceof PotionOfMindVision){ } else if (potionAttrib instanceof PotionOfMindVision){
name = Messages.get(this, "fadefruit");
name = "Fadefruit";
potionGlow = new ItemSprite.Glowing( 0xB8E6CF ); potionGlow = new ItemSprite.Glowing( 0xB8E6CF );
info += "It looks delicious and shadowy, ready to be eaten!";
} else if (potionAttrib instanceof PotionOfToxicGas){ } else if (potionAttrib instanceof PotionOfToxicGas){
name = Messages.get(this, "sorrowfruit");
name = "Sorrowfruit";
potionGlow = new ItemSprite.Glowing( 0xA15CE5 ); potionGlow = new ItemSprite.Glowing( 0xA15CE5 );
info += "It looks delicious and crisp, ready to be eaten!";
} else if (potionAttrib instanceof PotionOfLevitation) { } else if (potionAttrib instanceof PotionOfLevitation) {
name = Messages.get(this, "stormfruit");
name = "Stormfruit";
potionGlow = new ItemSprite.Glowing( 0x1C3A57 ); potionGlow = new ItemSprite.Glowing( 0x1C3A57 );
info += "It looks delicious and lightweight, ready to be eaten!";
} else if (potionAttrib instanceof PotionOfPurity) { } else if (potionAttrib instanceof PotionOfPurity) {
name = Messages.get(this, "dreamfruit");
name = "Dreamfruit";
potionGlow = new ItemSprite.Glowing( 0x8E2975 ); potionGlow = new ItemSprite.Glowing( 0x8E2975 );
info += "It looks delicious and clean, ready to be eaten!";
} else if (potionAttrib instanceof PotionOfExperience) { } else if (potionAttrib instanceof PotionOfExperience) {
name = Messages.get(this, "starfruit");
name = "Starfruit";
potionGlow = new ItemSprite.Glowing( 0xA79400 ); potionGlow = new ItemSprite.Glowing( 0xA79400 );
info += "It looks delicious and glorious, ready to be eaten!";
} }
return this; return this;
@ -306,36 +191,9 @@ public class Blandfruit extends Food {
super.restoreFromBundle(bundle); super.restoreFromBundle(bundle);
if (bundle.contains(POTIONATTRIB)) { if (bundle.contains(POTIONATTRIB)) {
imbuePotion((Potion) bundle.get(POTIONATTRIB)); imbuePotion((Potion) bundle.get(POTIONATTRIB));
//TODO: legacy code for pre-v0.2.3, remove when saves from that version are no longer supported.
} else if (bundle.contains("name")) {
name = bundle.getString("name");
if (name.equals("Healthfruit"))
cook(new Sungrass.Seed());
else if (name.equals("Powerfruit"))
cook(new Rotberry.Seed());
else if (name.equals("Paralyzefruit"))
cook(new Earthroot.Seed());
else if (name.equals("Invisifruit"))
cook(new Blindweed.Seed());
else if (name.equals("Flamefruit"))
cook(new Firebloom.Seed());
else if (name.equals("Frostfruit"))
cook(new Icecap.Seed());
else if (name.equals("Visionfruit"))
cook(new Fadeleaf.Seed());
else if (name.equals("Toxicfruit"))
cook(new Sorrowmoss.Seed());
else if (name.equals("Floatfruit"))
cook(new Stormvine.Seed());
else if (name.equals("Purefruit"))
cook(new Dreamfoil.Seed());
} }
} }
@Override @Override
public ItemSprite.Glowing glowing() { public ItemSprite.Glowing glowing() {
return potionGlow; return potionGlow;

View File

@ -31,11 +31,6 @@ public class ChargrilledMeat extends Food {
hornValue = 1; hornValue = 1;
} }
@Override
public String info() {
return "It looks like a decent steak.";
}
@Override @Override
public int price() { public int price() {
return 5 * quantity; return 5 * quantity;

View File

@ -31,6 +31,7 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.effects.SpellSprite; import com.shatteredpixel.shatteredpixeldungeon.effects.SpellSprite;
import com.shatteredpixel.shatteredpixeldungeon.items.Item; import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRecharging; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRecharging;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.noosa.audio.Sample; import com.watabou.noosa.audio.Sample;
@ -44,7 +45,7 @@ public class Food extends Item {
public static final String AC_EAT = "EAT"; public static final String AC_EAT = "EAT";
public float energy = Hunger.HUNGRY; public float energy = Hunger.HUNGRY;
public String message = "That food tasted delicious!"; public String message = Messages.get(this, "eat_msg");
public int hornValue = 3; public int hornValue = 3;
@ -68,7 +69,7 @@ public class Food extends Item {
detach( hero.belongings.backpack ); detach( hero.belongings.backpack );
((Hunger)hero.buff( Hunger.class )).satisfy( energy ); (hero.buff( Hunger.class )).satisfy( energy );
GLog.i( message ); GLog.i( message );
switch (hero.heroClass) { switch (hero.heroClass) {
@ -105,13 +106,6 @@ public class Food extends Item {
} }
} }
@Override
public String info() {
return
"Nothing fancy here: dried meat, " +
"some biscuits - things like that.";
}
@Override @Override
public boolean isUpgradable() { public boolean isUpgradable() {
return false; return false;

View File

@ -33,6 +33,7 @@ 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.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck; import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.utils.Random; import com.watabou.utils.Random;
@ -51,18 +52,26 @@ public class FrozenCarpaccio extends Food {
super.execute( hero, action ); super.execute( hero, action );
if (action.equals( AC_EAT )) { if (action.equals( AC_EAT )) {
effect(hero);
}
}
public int price() {
return 10 * quantity;
}
public static void effect(Hero hero){
switch (Random.Int( 5 )) { switch (Random.Int( 5 )) {
case 0: case 0:
GLog.i( "You see your hands turn invisible!" ); GLog.i( Messages.get(FrozenCarpaccio.class, "invis") );
Buff.affect( hero, Invisibility.class, Invisibility.DURATION ); Buff.affect( hero, Invisibility.class, Invisibility.DURATION );
break; break;
case 1: case 1:
GLog.i( "You feel your skin harden!" ); GLog.i( Messages.get(FrozenCarpaccio.class, "hard") );
Buff.affect( hero, Barkskin.class ).level( hero.HT / 4 ); Buff.affect( hero, Barkskin.class ).level( hero.HT / 4 );
break; break;
case 2: case 2:
GLog.i( "Refreshing!" ); GLog.i( Messages.get(FrozenCarpaccio.class, "refresh") );
Buff.detach( hero, Poison.class ); Buff.detach( hero, Poison.class );
Buff.detach( hero, Cripple.class ); Buff.detach( hero, Cripple.class );
Buff.detach( hero, Weakness.class ); Buff.detach( hero, Weakness.class );
@ -72,7 +81,7 @@ public class FrozenCarpaccio extends Food {
Buff.detach( hero, Vertigo.class); Buff.detach( hero, Vertigo.class);
break; break;
case 3: case 3:
GLog.i( "You feel better!" ); GLog.i( Messages.get(FrozenCarpaccio.class, "better") );
if (hero.HP < hero.HT) { if (hero.HP < hero.HT) {
hero.HP = Math.min( hero.HP + hero.HT / 4, hero.HT ); hero.HP = Math.min( hero.HP + hero.HT / 4, hero.HT );
hero.sprite.emitter().burst( Speck.factory( Speck.HEALING ), 1 ); hero.sprite.emitter().burst( Speck.factory( Speck.HEALING ), 1 );
@ -80,18 +89,6 @@ public class FrozenCarpaccio extends Food {
break; break;
} }
} }
}
@Override
public String info() {
return
"It's a piece of frozen raw meat. The only way to eat it is " +
"by cutting thin slices of it. And this way it's suprisingly good.";
}
public int price() {
return 10 * quantity;
};
public static Food cook( MysteryMeat ingredient ) { public static Food cook( MysteryMeat ingredient ) {
FrozenCarpaccio result = new FrozenCarpaccio(); FrozenCarpaccio result = new FrozenCarpaccio();

View File

@ -28,6 +28,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Poison;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Slow; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Slow;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.utils.Random; import com.watabou.utils.Random;
@ -37,7 +38,6 @@ public class MysteryMeat extends Food {
{ {
image = ItemSpriteSheet.MEAT; image = ItemSpriteSheet.MEAT;
energy = Hunger.STARVING - Hunger.HUNGRY; energy = Hunger.STARVING - Hunger.HUNGRY;
message = "That food tasted... strange.";
hornValue = 1; hornValue = 1;
} }
@ -47,34 +47,32 @@ public class MysteryMeat extends Food {
super.execute( hero, action ); super.execute( hero, action );
if (action.equals( AC_EAT )) { if (action.equals( AC_EAT )) {
effect(hero);
}
}
public int price() {
return 5 * quantity;
}
public static void effect(Hero hero){
switch (Random.Int( 5 )) { switch (Random.Int( 5 )) {
case 0: case 0:
GLog.w( "Oh it's hot!" ); GLog.w( Messages.get(MysteryMeat.class, "hot") );
Buff.affect( hero, Burning.class ).reignite( hero ); Buff.affect( hero, Burning.class ).reignite( hero );
break; break;
case 1: case 1:
GLog.w( "You can't feel your legs!" ); GLog.w( Messages.get(MysteryMeat.class, "legs") );
Buff.prolong( hero, Roots.class, Paralysis.duration( hero ) ); Buff.prolong( hero, Roots.class, Paralysis.duration( hero ) );
break; break;
case 2: case 2:
GLog.w( "You are not feeling well." ); GLog.w( Messages.get(MysteryMeat.class, "not_well") );
Buff.affect( hero, Poison.class ).set( Poison.durationFactor( hero ) * hero.HT / 5 ); Buff.affect( hero, Poison.class ).set( Poison.durationFactor( hero ) * hero.HT / 5 );
break; break;
case 3: case 3:
GLog.w( "You are stuffed." ); GLog.w( Messages.get(MysteryMeat.class, "stuffed") );
Buff.prolong( hero, Slow.class, Slow.duration( hero ) ); Buff.prolong( hero, Slow.class, Slow.duration( hero ) );
break; break;
} }
} }
} }
@Override
public String info() {
return "Eat at your own risk!";
}
public int price() {
return 5 * quantity;
};
}

View File

@ -28,15 +28,9 @@ public class OverpricedRation extends Food {
{ {
image = ItemSpriteSheet.OVERPRICED; image = ItemSpriteSheet.OVERPRICED;
energy = Hunger.STARVING - Hunger.HUNGRY; energy = Hunger.STARVING - Hunger.HUNGRY;
message = "That food tasted ok.";
hornValue = 1; hornValue = 1;
} }
@Override
public String info() {
return "It looks exactly like a standard ration of food but smaller.";
}
@Override @Override
public int price() { public int price() {
return 20 * quantity; return 20 * quantity;

View File

@ -99,10 +99,9 @@ public class Pasty extends Food {
public String info() { public String info() {
switch(holiday){ switch(holiday){
case NONE: default: case NONE: default:
return "This is authentic Cornish pasty with traditional filling of beef and potato."; return Messages.get(this, "pasty_desc");
case XMAS: case XMAS:
return "A huge sugary sweet candy cane! It's big enough to fill you up, " + return Messages.get(this, "cane_desc");
"and the sugar might give your wands a tiny bit of extra charge too.\n\nHappy Holidays!";
} }
} }

View File

@ -447,14 +447,50 @@ items.bags.scrollholder.name=scroll holder
items.bags.seedpouch.name=seed pouch items.bags.seedpouch.name=seed pouch
items.bags.wandholster.name=wand holster items.bags.wandholster.name=wand holster
#items.food.blandfruit.name= items.food.blandfruit.name=blandfruit
items.food.blandfruit.sunfruit=sunfruit
items.food.blandfruit.rotfruit=rotfruit
items.food.blandfruit.earthfruit=earthfruit
items.food.blandfruit.blindfruit=blindfruit
items.food.blandfruit.firefruit=firefruit
items.food.blandfruit.icefruit=icefruit
items.food.blandfruit.fadefruit=fadefruit
items.food.blandfruit.sorrowfruit=sorrowfruit
items.food.blandfruit.stormfruit=stormfruit
items.food.blandfruit.dreamfruit=dreamfruit
items.food.blandfruit.starfruit=starfruit
items.food.blandfruit.raw=You can't bear to eat it raw.
items.food.blandfruit.ice_msg=The icefruit tastes a bit like Frozen Carpaccio.
items.food.blandfruit.fire_msg=You feel a great fire burning within you!
items.food.blandfruit.toxic_msg=You are imbued with vile toxic power!
items.food.blandfruit.para_msg=You feel the power of the earth coursing through you!
items.food.blandfruit.desc=So dry and insubstantial, perhaps stewing it with another ingredient would improve it.
items.food.blandfruit.desc_cooked=The fruit has plumped up from its time soaking in the pot and has even absorbed the properties of the seed it was cooked with.\n\nIt looks ready to be eaten!
items.food.chargrilledmeat.name=chargrilled meat items.food.chargrilledmeat.name=chargrilled meat
items.food.chargrilledmeat.desc=It looks like a decent steak.
items.food.food.name=ration of food items.food.food.name=ration of food
items.food.food.eat_msg=That food tasted delicious!
items.food.food.desc=Nothing fancy here: dried meat, some biscuits - things like that.
items.food.frozencarpaccio.name=frozen carpaccio items.food.frozencarpaccio.name=frozen carpaccio
items.food.frozencarpaccio.invis=You see your hands turn invisible!
items.food.frozencarpaccio.hard=You feel your skin harden!
items.food.frozencarpaccio.refresh=Refreshing!
items.food.frozencarpaccio.better=You feel better!
items.food.frozencarpaccio.desc=It's a piece of frozen raw meat. The only way to eat it is by cutting thin slices of it. And this way it's suprisingly good.
items.food.mysterymeat.name=mystery meat items.food.mysterymeat.name=mystery meat
items.food.mysterymeat.eat_msg=That food tasted... strange.
items.food.mysterymeat.hot=Oh it's hot!
items.food.mysterymeat.legs=You can't feel your legs!
items.food.mysterymeat.not_well=You are not feeling well.
items.food.mysterymeat.stuffed=You are stuffed.
items.food.mysterymeat.desc=Eat at your own risk!
items.food.overpricedration.name=overpriced food ration items.food.overpricedration.name=overpriced food ration
items.food.overpricedration.eat_msg=That food tasted ok.
items.food.overpricedration.desc=It looks exactly like a standard ration of food but smaller.
items.food.pasty.pasty=pasty items.food.pasty.pasty=pasty
items.food.pasty.cane=candy cane items.food.pasty.cane=candy cane
items.food.food.pasty_desc=This is authentic Cornish pasty with traditional filling of beef and potato.
items.food.food.cane_desc=A huge sugary sweet candy cane! It's big enough to fill you up, and the sugar might give your wands a tiny bit of extra charge too.\n\nHappy Holidays!
items.keys.GoldenKey.name=golden key items.keys.GoldenKey.name=golden key
items.keys.IronKey.name=iron key items.keys.IronKey.name=iron key