v0.7.3: bugfixes:
- vampiric overhealing - spirit bow generating scrolls of upgrade when curse infused - armor kit not interacting correctly with curse infuse - duplication bugs with reclaim trap - new alchemy items not being craftable - ring of wealth rarely generating items blocked by challenges
This commit is contained in:
parent
cfd2f7a811
commit
1c259b789a
|
@ -62,7 +62,7 @@ public class ArmorKit extends Item {
|
||||||
|
|
||||||
super.execute( hero, action );
|
super.execute( hero, action );
|
||||||
|
|
||||||
if (action == AC_APPLY) {
|
if (action.equals(AC_APPLY)) {
|
||||||
|
|
||||||
curUser = hero;
|
curUser = hero;
|
||||||
GameScene.selectItem( itemSelector, WndBag.Mode.ARMOR, Messages.get(this, "prompt") );
|
GameScene.selectItem( itemSelector, WndBag.Mode.ARMOR, Messages.get(this, "prompt") );
|
||||||
|
|
|
@ -34,6 +34,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.CausticBrew;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.InfernalBrew;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.InfernalBrew;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.ShockingBrew;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.ShockingBrew;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfAquaticRejuvenation;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfAquaticRejuvenation;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfArcaneArmor;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfDragonsBlood;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfDragonsBlood;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfHoneyedHealing;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfHoneyedHealing;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfIcyTouch;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfIcyTouch;
|
||||||
|
@ -53,9 +54,9 @@ import com.shatteredpixel.shatteredpixeldungeon.items.spells.MagicalPorter;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.spells.PhaseShift;
|
import com.shatteredpixel.shatteredpixeldungeon.items.spells.PhaseShift;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.spells.ReclaimTrap;
|
import com.shatteredpixel.shatteredpixeldungeon.items.spells.ReclaimTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.spells.Recycle;
|
import com.shatteredpixel.shatteredpixeldungeon.items.spells.Recycle;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.spells.WildEnergy;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand;
|
import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.darts.Dart;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.darts.Dart;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.darts.TippedDart;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
@ -180,6 +181,7 @@ public abstract class Recipe {
|
||||||
new Bomb.EnhanceBomb(),
|
new Bomb.EnhanceBomb(),
|
||||||
new AlchemicalCatalyst.Recipe(),
|
new AlchemicalCatalyst.Recipe(),
|
||||||
new ArcaneCatalyst.Recipe(),
|
new ArcaneCatalyst.Recipe(),
|
||||||
|
new ElixirOfArcaneArmor.Recipe(),
|
||||||
new ElixirOfAquaticRejuvenation.Recipe(),
|
new ElixirOfAquaticRejuvenation.Recipe(),
|
||||||
new ElixirOfDragonsBlood.Recipe(),
|
new ElixirOfDragonsBlood.Recipe(),
|
||||||
new ElixirOfIcyTouch.Recipe(),
|
new ElixirOfIcyTouch.Recipe(),
|
||||||
|
@ -200,6 +202,7 @@ public abstract class Recipe {
|
||||||
new PhaseShift.Recipe(),
|
new PhaseShift.Recipe(),
|
||||||
new ReclaimTrap.Recipe(),
|
new ReclaimTrap.Recipe(),
|
||||||
new Recycle.Recipe(),
|
new Recycle.Recipe(),
|
||||||
|
new WildEnergy.Recipe(),
|
||||||
new StewedMeat.twoMeat()
|
new StewedMeat.twoMeat()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -71,10 +71,12 @@ abstract public class ClassArmor extends Armor {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
classArmor.level(armor.level());
|
classArmor.level(armor.level() - (armor.curseInfusionBonus ? 1 : 0));
|
||||||
classArmor.armorTier = armor.tier;
|
classArmor.armorTier = armor.tier;
|
||||||
classArmor.augment = armor.augment;
|
classArmor.augment = armor.augment;
|
||||||
classArmor.inscribe( armor.glyph );
|
classArmor.inscribe( armor.glyph );
|
||||||
|
classArmor.cursed = armor.cursed;
|
||||||
|
classArmor.curseInfusionBonus = armor.curseInfusionBonus;
|
||||||
classArmor.identify();
|
classArmor.identify();
|
||||||
|
|
||||||
return classArmor;
|
return classArmor;
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
package com.shatteredpixel.shatteredpixeldungeon.items.rings;
|
package com.shatteredpixel.shatteredpixeldungeon.items.rings;
|
||||||
|
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
||||||
|
@ -110,11 +111,19 @@ public class RingOfWealth extends Ring {
|
||||||
triesToDrop -= dropProgression(target, tries);
|
triesToDrop -= dropProgression(target, tries);
|
||||||
while ( triesToDrop <= 0 ){
|
while ( triesToDrop <= 0 ){
|
||||||
if (dropsToRare <= 0){
|
if (dropsToRare <= 0){
|
||||||
drops.add(genRareDrop());
|
Item i;
|
||||||
|
do {
|
||||||
|
i = genRareDrop();
|
||||||
|
} while (Challenges.isItemBlocked(i));
|
||||||
|
drops.add(i);
|
||||||
latestDropWasRare = true;
|
latestDropWasRare = true;
|
||||||
dropsToRare = Random.NormalIntRange(0, 20);
|
dropsToRare = Random.NormalIntRange(0, 20);
|
||||||
} else {
|
} else {
|
||||||
drops.add(genStandardDrop());
|
Item i;
|
||||||
|
do {
|
||||||
|
i = genStandardDrop();
|
||||||
|
} while (Challenges.isItemBlocked(i));
|
||||||
|
drops.add(i);
|
||||||
dropsToRare--;
|
dropsToRare--;
|
||||||
}
|
}
|
||||||
triesToDrop += Random.NormalIntRange(0, 60);
|
triesToDrop += Random.NormalIntRange(0, 60);
|
||||||
|
|
|
@ -25,6 +25,7 @@ import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
|
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.quest.MetalShard;
|
import com.shatteredpixel.shatteredpixeldungeon.items.quest.MetalShard;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfMagicMapping;
|
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfMagicMapping;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRecharging;
|
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRecharging;
|
||||||
|
@ -84,6 +85,15 @@ public class ReclaimTrap extends TargetedSpell {
|
||||||
return desc;
|
return desc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Item split(int amount) {
|
||||||
|
Item split = super.split(amount);
|
||||||
|
if (split != null){
|
||||||
|
((ReclaimTrap)split).storedTrap = null;
|
||||||
|
}
|
||||||
|
return split;
|
||||||
|
}
|
||||||
|
|
||||||
private static final ItemSprite.Glowing[] COLORS = new ItemSprite.Glowing[]{
|
private static final ItemSprite.Glowing[] COLORS = new ItemSprite.Glowing[]{
|
||||||
new ItemSprite.Glowing( 0xFF0000 ),
|
new ItemSprite.Glowing( 0xFF0000 ),
|
||||||
new ItemSprite.Glowing( 0xFF8000 ),
|
new ItemSprite.Glowing( 0xFF8000 ),
|
||||||
|
|
|
@ -198,10 +198,9 @@ public class SpiritBow extends Weapon {
|
||||||
+ (curseInfusionBonus ? 1 : 0);
|
+ (curseInfusionBonus ? 1 : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
//for fetching upgrades from a boomerang from pre-0.7.0
|
//for fetching upgrades from a boomerang from pre-0.7.1
|
||||||
//TODO implement on this
|
|
||||||
public int spentUpgrades() {
|
public int spentUpgrades() {
|
||||||
return super.level();
|
return super.level() - (curseInfusionBonus ? 1 : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -44,6 +44,7 @@ public class Vampiric extends Weapon.Enchantment {
|
||||||
|
|
||||||
//heals for 50% of damage dealt
|
//heals for 50% of damage dealt
|
||||||
int healAmt = Math.round(damage * 0.5f);
|
int healAmt = Math.round(damage * 0.5f);
|
||||||
|
healAmt = Math.min( healAmt, attacker.HT - attacker.HP );
|
||||||
|
|
||||||
if (healAmt > 0 && attacker.isAlive()) {
|
if (healAmt > 0 && attacker.isAlive()) {
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user