v0.7.2: balance adjustments to meat pie and elixir of might
This commit is contained in:
parent
335f573681
commit
b1a3b92ea4
Binary file not shown.
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
@ -40,7 +40,7 @@ public class WellFed extends Buff {
|
||||||
if (left < 0){
|
if (left < 0){
|
||||||
detach();
|
detach();
|
||||||
return true;
|
return true;
|
||||||
} else if (left % 10 == 0){
|
} else if (left % 18 == 0){
|
||||||
target.HP = Math.min(target.HT, target.HP + 1);
|
target.HP = Math.min(target.HT, target.HP + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,7 +49,8 @@ public class WellFed extends Buff {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void reset(){
|
public void reset(){
|
||||||
//heals one HP every 10 turns for 450 turns
|
//heals one HP every 18 turns for 450 turns
|
||||||
|
//25 HP healed in total
|
||||||
left = (int)Hunger.STARVING;
|
left = (int)Hunger.STARVING;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -81,6 +81,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.keys.SkeletonKey;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfExperience;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfExperience;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfStrength;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfStrength;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfMight;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfAccuracy;
|
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfAccuracy;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfEvasion;
|
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfEvasion;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfForce;
|
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfForce;
|
||||||
|
@ -193,6 +194,10 @@ public class Hero extends Char {
|
||||||
float multiplier = RingOfMight.HTMultiplier(this);
|
float multiplier = RingOfMight.HTMultiplier(this);
|
||||||
HT = Math.round(multiplier * HT);
|
HT = Math.round(multiplier * HT);
|
||||||
|
|
||||||
|
if (buff(ElixirOfMight.HTBoost.class) != null){
|
||||||
|
HT += buff(ElixirOfMight.HTBoost.class).boost();
|
||||||
|
}
|
||||||
|
|
||||||
if (boostHP){
|
if (boostHP){
|
||||||
HP += Math.max(HT - curHT, 0);
|
HP += Math.max(HT - curHT, 0);
|
||||||
}
|
}
|
||||||
|
@ -1240,7 +1245,11 @@ public class Hero extends Char {
|
||||||
if (lvl < MAX_LEVEL) {
|
if (lvl < MAX_LEVEL) {
|
||||||
lvl++;
|
lvl++;
|
||||||
levelUp = true;
|
levelUp = true;
|
||||||
|
|
||||||
|
if (buff(ElixirOfMight.HTBoost.class) != null){
|
||||||
|
buff(ElixirOfMight.HTBoost.class).onLevelUp();
|
||||||
|
}
|
||||||
|
|
||||||
updateHT( true );
|
updateHT( true );
|
||||||
attackSkill++;
|
attackSkill++;
|
||||||
defenseSkill++;
|
defenseSkill++;
|
||||||
|
|
|
@ -76,7 +76,7 @@ public class MeatPie extends Food {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int cost(ArrayList<Item> ingredients) {
|
public int cost(ArrayList<Item> ingredients) {
|
||||||
return (int)Hunger.STARVING/50;
|
return 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -22,13 +22,17 @@
|
||||||
package com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs;
|
package com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs;
|
||||||
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Badges;
|
import com.shatteredpixel.shatteredpixeldungeon.Badges;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfHealing;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.AlchemicalCatalyst;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfStrength;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfStrength;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||||
|
import com.watabou.utils.Bundle;
|
||||||
|
|
||||||
public class ElixirOfMight extends Elixir {
|
public class ElixirOfMight extends Elixir {
|
||||||
|
|
||||||
|
@ -41,31 +45,96 @@ public class ElixirOfMight extends Elixir {
|
||||||
setKnown();
|
setKnown();
|
||||||
|
|
||||||
hero.STR++;
|
hero.STR++;
|
||||||
hero.HTBoost += 5;
|
|
||||||
|
Buff.affect(hero, HTBoost.class).reset();
|
||||||
|
HTBoost boost = Buff.affect(hero, HTBoost.class);
|
||||||
|
boost.reset();
|
||||||
|
|
||||||
hero.updateHT( true );
|
hero.updateHT( true );
|
||||||
hero.sprite.showStatus( CharSprite.POSITIVE, Messages.get(this, "msg_1") );
|
hero.sprite.showStatus( CharSprite.POSITIVE, Messages.get(this, "msg_1", boost.boost() ));
|
||||||
GLog.p( Messages.get(this, "msg_2") );
|
GLog.p( Messages.get(this, "msg_2") );
|
||||||
|
|
||||||
Badges.validateStrengthAttained();
|
Badges.validateStrengthAttained();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String desc() {
|
||||||
|
return Messages.get(this, "desc", HTBoost.boost(Dungeon.hero.HT));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int price() {
|
public int price() {
|
||||||
//prices of ingredients
|
//prices of ingredients
|
||||||
return quantity * (50 + 30);
|
return quantity * (50 + 40);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||||
|
|
||||||
{
|
{
|
||||||
inputs = new Class[]{PotionOfStrength.class, PotionOfHealing.class};
|
inputs = new Class[]{PotionOfStrength.class, AlchemicalCatalyst.class};
|
||||||
inQuantity = new int[]{1, 1};
|
inQuantity = new int[]{1, 1};
|
||||||
|
|
||||||
cost = 10;
|
cost = 5;
|
||||||
|
|
||||||
output = ElixirOfMight.class;
|
output = ElixirOfMight.class;
|
||||||
outQuantity = 1;
|
outQuantity = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static class HTBoost extends Buff {
|
||||||
|
|
||||||
|
{
|
||||||
|
type = buffType.POSITIVE;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int left;
|
||||||
|
|
||||||
|
public void reset(){
|
||||||
|
left = 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int boost(){
|
||||||
|
return Math.round(left*boost(target.HT)/5f);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int boost(int HT){
|
||||||
|
return Math.round(4 + HT/20f);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onLevelUp(){
|
||||||
|
left --;
|
||||||
|
if (left <= 0){
|
||||||
|
detach();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int icon() {
|
||||||
|
return BuffIndicator.HEALING;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return Messages.get(this, "name");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String desc() {
|
||||||
|
return Messages.get(this, "desc", boost(), left);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String LEFT = "left";
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void storeInBundle(Bundle bundle) {
|
||||||
|
super.storeInBundle(bundle);
|
||||||
|
bundle.put( LEFT, left );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void restoreFromBundle(Bundle bundle) {
|
||||||
|
super.restoreFromBundle(bundle);
|
||||||
|
left = bundle.getInt(LEFT);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -609,9 +609,11 @@ items.potions.elixirs.elixiroficytouch.name=elixir of icy touch
|
||||||
items.potions.elixirs.elixiroficytouch.desc=When consumed, this elixir will allow the drinker to sap the heat from enemies they attack. This effect will make the drinker immune to the cold, and allow them to chill enemies with physical attacks.
|
items.potions.elixirs.elixiroficytouch.desc=When consumed, this elixir will allow the drinker to sap the heat from enemies they attack. This effect will make the drinker immune to the cold, and allow them to chill enemies with physical attacks.
|
||||||
|
|
||||||
items.potions.elixirs.elixirofmight.name=elixir of might
|
items.potions.elixirs.elixirofmight.name=elixir of might
|
||||||
items.potions.elixirs.elixirofmight.msg_1=+1 str, +5 hp
|
items.potions.elixirs.elixirofmight.msg_1=+1 str, +%d hp
|
||||||
items.potions.elixirs.elixirofmight.msg_2=Newfound strength surges through your body.
|
items.potions.elixirs.elixirofmight.msg_2=Newfound strength surges through your body.
|
||||||
items.potions.elixirs.elixirofmight.desc=This powerful liquid will course through your muscles, permanently increasing your strength by one point and health by five points.
|
items.potions.elixirs.elixirofmight.desc=This powerful liquid will course through your muscles, permanently increasing your strength by one point and temporarily increasing maximum health by %d points. The heath boost scales with your maximum health, but will slowly wear off as you gain levels.
|
||||||
|
items.potions.elixirs.elixirofmight$htboost.name=max health boost
|
||||||
|
items.potions.elixirs.elixirofmight$htboost.desc=Your body feels unnaturally strong and healthy.\n\nYour maximum health is boosted for an extended period of time. As you gain levels, the boost will steadily fade.\n\nCurrent boost amount: %d\nLevels remaining: %d
|
||||||
|
|
||||||
items.potions.elixirs.elixirofrestoration.name=elixir of restoration
|
items.potions.elixirs.elixirofrestoration.name=elixir of restoration
|
||||||
items.potions.elixirs.elixirofrestoration.desc=This elixir combines the properties of a healing and cleansing potion. When consumed, the drinker will start to rapidly heal, and will be cleansed of all negative effects.
|
items.potions.elixirs.elixirofrestoration.desc=This elixir combines the properties of a healing and cleansing potion. When consumed, the drinker will start to rapidly heal, and will be cleansed of all negative effects.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user