v0.2.3: reduced the severity of curses on Horn of Plenty and Chalice of Blood
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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 );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user