From 803bd132aeea1986d14efc3d7e9a05a7a876af60 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Wed, 26 Nov 2014 14:07:59 -0500 Subject: [PATCH] v0.2.3: reduced the severity of curses on Horn of Plenty and Chalice of Blood --- .../shatteredpixeldungeon/actors/buffs/Hunger.java | 7 +++++++ .../actors/buffs/Regeneration.java | 11 ++++++++--- .../shatteredpixeldungeon/items/food/Food.java | 14 -------------- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Hunger.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Hunger.java index 83663a57e..8287f3e20 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Hunger.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Hunger.java @@ -22,6 +22,8 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon; import com.shatteredpixel.shatteredpixeldungeon.ResultDescriptions; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroClass; +import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.Artifact; +import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.HornOfPlenty; import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.Utils; @@ -108,6 +110,11 @@ public class Hunger extends Buff implements Hero.Doom { } public void satisfy( float energy ) { + Artifact.ArtifactBuff buff = target.buff( HornOfPlenty.hornRecharge.class ); + if (buff != null && buff.isCursed()){ + energy = Math.round(energy*0.67f); + GLog.n("The cursed horn steals some of the food energy as you eat."); + } level -= energy; if (level < 0) { level = 0; diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Regeneration.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Regeneration.java index a03a03e0e..811e2c7e2 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Regeneration.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Regeneration.java @@ -29,14 +29,19 @@ public class Regeneration extends Buff { public boolean act() { if (target.isAlive()) { - ChaliceOfBlood.chaliceRegen regenBuff = Dungeon.hero.buff( ChaliceOfBlood.chaliceRegen.class); - if (target.HP < target.HT && !((Hero)target).isStarving() && !(regenBuff != null && regenBuff.isCursed())) { + + if (target.HP < target.HT && !((Hero)target).isStarving()) { target.HP += 1; } + ChaliceOfBlood.chaliceRegen regenBuff = Dungeon.hero.buff( ChaliceOfBlood.chaliceRegen.class); + if (regenBuff != null) - spend( Math.max(REGENERATION_DELAY - regenBuff.level(), 0.5f) ); + if (regenBuff.isCursed()) + spend( REGENERATION_DELAY * 1.5f ); + else + spend( Math.max(REGENERATION_DELAY - regenBuff.level(), 0.5f) ); else spend( REGENERATION_DELAY ); diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/items/food/Food.java b/src/com/shatteredpixel/shatteredpixeldungeon/items/food/Food.java index 1f46f9252..d274e37ef 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/items/food/Food.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/items/food/Food.java @@ -25,8 +25,6 @@ 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.artifacts.Artifact; -import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.HornOfPlenty; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRecharging; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; @@ -103,18 +101,6 @@ public class Food extends Item { } @Override - public boolean doPickUp( Hero hero ){ - Artifact.ArtifactBuff buff = hero.buff( HornOfPlenty.hornRecharge.class ); - if (buff != null && buff.isCursed()){ - GLog.n("Your cursed horn greedily devours the food!"); - Sample.INSTANCE.play( Assets.SND_EAT ); - hero.spendAndNext( TIME_TO_PICK_UP ); - return true; - } - return super.doPickUp( hero ); - } - - @Override public String info() { return "Nothing fancy here: dried meat, " +